定义: 同类型对象,执行同一个行为,会表现不同的行为特征
1.多态的形式 父类对象 对象名=new 子类构造器
多态成员访问的特点 ---方法调用:编译看左边,运行看右边。 ---变量调用:编译看左边,运行也看左边
父类Animal
package com.yuyang.d1_polymorphic;
public abstract class Animal {
public String name="父类小胖鱼";
public abstract void run();
}
子类Dog 和Tortoise
package com.yuyang.d1_polymorphic;
public class Dog extends Animal {
public String name="子类小胖狗";
@Override
public void run() {
System.out.println("狗跑的贼快");
}
}
package com.yuyang.d1_polymorphic;
public class Tortoise extends Animal{
public String name="子类小胖龟";
@Override
public void run() {
System.out.println("乌龟跑的太慢了");
}
}
测试类Test
package com.yuyang.d1_polymorphic;
public class Test {
public static void main(String[] args) {
//同类型对象,执行同一个行为,会表现不同的行为特征
// 1.多态的形式 父类对象 对象名=new 子类构造器
/*
多态成员访问的特点
---方法调用:编译看左边,运行看右边。
---变量调用:编译看左边,运行也看左边
*/
// Dog d=new Dog();
// d.run();
Animal d=new Dog();
d.run();
System.out.println(d.name);
Animal t=new Tortoise();
t.run();
System.out.println(t.name);
// Tortoise t=new Tortoise();
// t.run();
}
}
测试结果:
狗跑的贼快
父类小胖鱼
乌龟跑的太慢了
父类小胖鱼
Process finished with exit code 0