父类引用指向子类对象,从而产生多态。
public class Test01 {
public static void main(String[] args) {
Teacher t1=new Teacher();
//类的多态:子类对象指向父类引用
//类的多态:父类引用存储了子类对象的内存地址
Vehicl v1=new Bike();
t1.open(v1);
System.out.println("-------------------");
t1.close(v1);
Vehicl v2=new Car();
t1.open(v2);
System.out.println("-------------------");
t1.close(v2);
}
}
abstract class Vehicl{ //交通工具类(父类)
public abstract void start();
public abstract void stop();
}
class Bike extends Vehicl{ //自行类(子类)
@Override
public void start(){
System.out.println("开始骑车");
}
@Override
public void stop(){
System.out.println("开始下自行车");
}
}
class Car extends Vehicl{ //汽车类(子类)
@Override
public void start(){
System.out.println("汽车打火");
}
@Override
public void stop(){
System.out.println("汽车熄火");
}
}
class Teacher{ //教师类
public void open(Vehicl v){
v.start();
}
public void close(Vehicl v){
v.stop();
}
}
运行结果:
开始骑车
-------------------
开始下自行车
汽车打火
-------------------
汽车熄火
本文地址:https://blog.csdn.net/LLY_A_/article/details/107204052
如对本文有疑问, 点击进行留言回复!!
SpringBoot引用阿里easyexcel,Excel导出返回浏览器下载
HashMap、Hashtable、ConcurrentHashMap三者间的异同
解决RecycleView 中Item包含Edittext时,滑动view复用导致数据错乱的问题
多线程、同步工作原理、死锁案例、Lock接口、线程的生命周期的讲解及实现
网友评论