JAVA面向对象的学习 -------多态

 

多态注意事项:
1.多态是方法的多态,属性没有多态
2.父类和子类有联系,类型转换异常!ClassCastException!
3.存在的条件:继承关系,方法需要重写 父类引用指向子类对象! Father S1 = new Son();

1.static方法不能重写
2.final 常量 不能重写
3.private 方法;无法重写
/*public class Teacher {
public void run(){
System.out.println("run");
}
}

*/

public class Student extends Teacher {
public static void main(String[] args) {
//一个对象的实际类型是确定的
//new Student();
//new Teacher();
//可以指向的引用类型就不确定了:父类的引用指向子类
Student S1 = new Student();// 子类能调用的方法都是自己的或者继承父类的
Teacher S2 = new Student();//父类可以指向子类,但是不能调用子类独有的方法
Object S3 = new Student();


//对象能执行哪些方法,主要看对象左边的类型和右边关系不大;
S1.run();//子类重写父类的方法,执行子类的方法
S2.run();
S1.eat();

}
@Override
public void run() {
System.out.println("ron");
}

public void eat(){
System.out.println("eat");
}
}
 
原文地址:https://www.cnblogs.com/acg-lbj/p/13264952.html