/**
* 标题:Java面向对象(OOP)三大特性之多态特性
* 作者:Nstar
* 时间:2020年3月10日
* 问:何为Java面向对象多态特性
* 答:个人看法:首先定义一个抽象类,抽象类里面包括有抽象方法
* 把抽象类作为基类,也称之为父类
* 我们可以在子类中对父类的抽象方法进行重写,来满足子类的需求,此过程可以称之为OOP多态特性
* 也可以多个子类同时对抽象类中的抽象方法进行重写,此操作也是多态
* 多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
此案例的基类中的两个抽象方法满足了D和C类的四种形态*/
abstract class Z{ //定义抽象类,作为基类,方便D和C类进行重写抽象方法,abstract修饰的类为抽象类
abstract void spek(); //使用abstract关键字定义抽象spek方法,方便子类重写
abstract void run(); } // //使用abstract关键字定义抽象run方法,方便子类重写
class D extends Z{ //继承于Z类
void spek(){ //重写Z类的抽象方法,构成多态
System.out.println("狗会叫!!!");
System.out.println("汪汪汪!!!");
}
void run(){ //重写Z类的抽象方法,构成多态
System.out.println("狗会跑!!!");
System.out.println("狗跑了起来!!!");
}
}
class C extends Z{ //继承于Z类
void spek(){ //重写Z类的抽象方法,构成多态
System.out.println("猫会叫!!!");
System.out.println("喵喵喵!!!");
}
void run(){ //重写Z类的抽象方法,构成多态
System.out.println("猫会跑!!!");
System.out.println("猫跑了起来!!!");
}
}
public class Test9{
public static void main(String[] args) { //程序入口方法
D d=new D(); //创建对象,基于D类
d.spek(); //通过实例调用方法
d.run(); //通过实例调用方法
C c=new C(); //创建对象,基于C类
c.spek(); //通过实例调用方法
c.run(); //通过实例调用方法
}
}
Java面向对象(OOP)三大特性之多态特性,代码讲解
猜你喜欢
转载自blog.csdn.net/ChinaNebula/article/details/104893017
今日推荐
周排行