标签:引用 有一个 java 否则 关系 类对象 哪些 总结 block
多态:实际类型确定,引用类型不确定,表现出来了多种状态,就是多态。
调用相同名字的方法,具体采用的是哪个方法,根据发送对象的不同而采用多种不同的行为方式,就是多态。
多态使程序更灵活。
比如:父类是Person,子类是Student,当:
Student s1 = new Student();
Person s2 = new Student(); //父类的引用指向子类
Object s3 = new Student(); //父类的引用指向子类
即:一个对象的实际类型是确定的,就是Student
但是,引用类型有指向Student的,有指向Person的,有指向Object的,引用类型不同。所以表现出了多种状态。
多态是方法的多态,属性没有多态。
父类和子类之间才有多态。当没有父子关系时,提示ClassCastExpection!异常。
存在条件:有继承关系,方法需要重写,父类引用指向子类对象(反过来不行,只能父类指向子类)。Father f1 = new Son();
一个对象的实际类型是确定的
1.1. new Student();
1.2. new Person();
可以指向的引用类型不确定:父类的引用可以指向子类
Student(子类)能调用的方法是自己的,或者继承父类的
Person(父类)和Object(父类)可以指向子类,但不能调用子类独有的方法。
5. 第一句话:换句话说,对象能执行哪些方法,看对象左边的类型,与右边的关系不大。
第二句话:对象执行的某一方法是类里面的方法,看等号右边,与前面相反。
解释下5中第一句话:子类有一个方法,父类没这个方法,父类 对象 = new 子类();则,该对象不能调用父类没有,子类有的这个方法。否则报错:
下面这个看等号左边:
解释下5中第二句话:子类有一个方法,父类没这个方法,父类 对象 = new 子类();则,该对象不能调用父类没有,子类有的这个方法。否则报错:
下面这个看等号右边:
标签:引用 有一个 java 否则 关系 类对象 哪些 总结 block
原文地址:https://www.cnblogs.com/WZ-BeiHang/p/12304512.html