多态的定义
多态
- 即同一方法可以根据发送对象的不同而采用不同的行为方式
- 一个对象的实际类型是确认的,但可以指向对象的引用的类型有很多中
package Demo01;public class Person {public void test(){System.out.println("父类");}}
package Demo01;public class Student extends Person{public void test(){System.out.println("子类");}public void test1(){System.out.println("11");}}
package Demo01;public class Application {public static void main(String[] args) {//可以指向的引用类型就不确定了:父类的引用指向子类//一个类的实际类型是确定的 new Student()//Student()能使用的方法都是自己的或者是继承父类的Student student = new Student();Person person=new Student();Object object=new Student();//子类可以调用继承父类的方法,父类无法调用子类独有的方法student.test();//子类重写父类的方法,执行子类的方法person.test();student.test1();//person.test1();无法使用}
}
输入结果为:
子类
子类
11
注意点
- 多态是方法的多态,属性没有多态
- 父类和子类,有联系,类型转换异常!ClassCastException!
- 存在条件:继承关系,方法需要重写,父类引用指向子类对象!Person person=new Student();
不可重写的情况:
- static 方法,属于类,它不属于实例
- final常量
- private方法