最近被找工作困扰,又把java基础拿出来看一遍,看到多态,感觉有点失了智,好在在网上找到很通俗的文章,理解了很多
/** * 多态:用一句话概括,事物在运行该过程中存在不同的状态 * 1.实现多态的条件 * (1)要有继承关系 * (2)子类要重写父类的方法 * (3)父类引用指向子类对 * * 2.多态的弊端 * 不能使用子类特有的成员属性和方法 * * 3.解决弊端 * 使用强制类型转换,父类就可以引用子类的特有成员属性和方法 * Created by fanyukai on 201838 0008. */ //(1)要有继承关系 public class cat extends animal{ //(2)子类要重写父类的方法 public void run(){ System.out.println("猫在跑!"); } //(2)子类要重写父类的方法 public void sleep(){ System.out.println("猫在睡觉!"); } //父类的方法是静态的,子类无法重写 public static void eat(){ System.out.println("猫在吃饭!"); } public void play(){ System.out.println("猫在玩耍!"); } public static void main(String[] args) { //(3)父类引用指向子类对 animal a =new cat(); a.run(); a.sleep(); a.eat(); /*多态的弊端不能使用子类特有的成员属性和方法 a.paly();*/ //使用强制类型转换,父类就可以引用子类的特有成员属性和方法 cat c = (cat)a; ((cat) a).play(); } }