super,getClass,用plugin方法,分别传递Flash和Print的对象,经过向上转型

本文介绍了Java中getClass()方法的作用与用法,探讨了super关键字在构造方法中的运用,并通过USB接口和子类实例展示了如何进行多态操作。重点讲解了如何定义接口、实现类以及在Computer类中调用不同子类的方法。
摘要由CSDN通过智能技术生成

2022-10-19日学习问题总结:

一,Student.java中getClass被占用

似乎和object以及反射有关

java中getClass()方法简介
java中的getClass()方法的用法
java的getClass()函数

二,super

由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。

super 关键字的功能:

1,在子类的构造方法中显式的调用父类构造方法
2,访问父类的成员方法和变量。

super( ) 必须是在子类构造方法的方法体的第一行。

public class Flower{
		public void showInfo()
		{
	}
}
public class Rose extends Flower {

	public void showInfo() {
		super.showInfo();
		System.out.println("大理");

	}

三,定义USB接口,两个方法start,stop。

两个子类:Flash和Print,重写两个方法,方法中随便输出两句话。
定义计算机类Computer,有一个plugin方法,有一个USB类型的参数,用来调用start和stop。
在主方法中实例化Computer类,调用plugin方法,分别传递Flash和Print的对象,经过向上转型,完成功能。

USB类

package com.demo3;

public interface USB {
	public abstract void start();
	public abstract void stop();
}

Flash和Print类

package com.demo3;

public class Flash implements USB{
	@Override
	public void start() {
		// TODO Auto-generated method stub
		System.out.println("这是Flash类");	
	}
	@Override
	public void stop() {
		// TODO Auto-generated method stub
		System.out.println("这是Flash类");
	}
	public static void main(String[] args) {
		Flash f = new Flash();
		f.start();
		f.stop();
	}
}
package com.demo3;

public class Print implements USB{
	@Override
	public void start() {
		System.out.println("这是Print类");	
	}
	@Override
	public void stop() {
		System.out.println("这是Print类");	
	}
	public static void main(String[] args) {
		Print q = new Print();
		q.start();
		q.stop();
	}
}

Computer类

public class Computer {
	
	
private void plugin(USB p) {
		p.start();
		p.stop();

	}
public static void main(String[] args) {
		Computer c = new Computer();
		
	    c.plugin(new Flash());
		c.plugin(new Print());
//		
//		USB Flash
//  	Flash.start();
//		Flash.stop();
//		
//		USB Print = new Print();
//		Print.start();
//		Print.stop();
//		
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值