多态
多态: 一种事物的多种形态|多种表现形式
多态的最终体现:
父类的引用指向子类的对象
多态的前提:
继承|实现
多态的优点: 多态可以让程序变得更加灵活,便于后期维护
public class polymorphismDemo01 {
public static void main(String[] args) {
//对应类型的数据赋值给对应类型的变量
Person p = new Person();
Student s = new Student();
//多态 父类引用指向子类对象
Person p2 = new Student();
System.out.println(s);
test(new Student());
}
static void test(Person s){ //Person s = new Student();
}
}
class Person{}
class Student extends Person{}
多态的使用:
当父类类型的引用调用成员时候:
**成员变量:**
编译运行看父类|左边|类型
成员方法:
编译看父类|类型|左边
运行找子类|对象|右边
当通过父类的引用调用成员方法时候,如果子类有重写方法就调用重写的,如果没有找父类
如果多态不配合方法的重写,多态也没有意义
public class polymorphismDemo02 {
public static void main(String[] args) {
//多态
Fu fu = new Zi();
//System.out.println(fu.name);
//fu.test();
}
}
class Fu{
//String name = "Fu";
/*void test(){
System.out.println("父类test");
}*/
}
class Zi extends Fu{
//String name = "Zi";
//@Override
void test(){
System.out.println("子类test");
}
}