JavaSE-11.1.1【多态、多态中的成员访问特点】
package day2.yubaby01.p1; /* 1 多态 1.1多态的概述 什么是多态 同一个对象,在不同时刻表现出来的不同形态 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象 1.2多态中的成员访问特点 成员变量 编译看父类,运行看父类 成员方法 编译看父类,运行看子类 成员变量和成员方法访问不一致原因:成员方法有重写,而成员变量没有 */ public class AnimalDemo { public static void main(String[] args) { Animal a = new Cat(); //3父类引用指向子类对象 --> 多态 System.out.println(a.age); //访问到父类成员变量 10 // System.out.println(a.weight); //error a.eat(); //猫吃草 // a.weight(); //error } }
package day2.yubaby01.p1; public class Animal { public int age = 10; public void eat(){ System.out.println("动物进食"); } }
package day2.yubaby01.p1; public class Cat extends Animal{ //1继承 public int age = 20; public int weight = 5; @Override public void eat(){ //2方法重写 System.out.println("猫吃草"); } public void playGame(){ System.out.println("猫捉迷藏"); } }