Java多态性,成员变量方法的使用,对象的向上向下转型。InstanceOf关键字的使用。

1、多态性

代码当中体现多态性,其实就是一句话:父类引用指向子类对象。
格式:
父类名称 对象名 = new 子类名称();
或者:
接口名称 对象名 = new 实现类名称();

2、多态中成员变量的使用特点

访问成员变量的两种方式:
1、直接通过对象名称访问成员变量:看等号左边是谁优先用谁,没有则向上找。
2、间接通过成员方法访问成员变量:看该方法属于谁优先用谁,没有则向上找。

3、多态中成员方法的使用特点

在多态的代码中,成员方法的访问规则是:
看new的是谁,就优先用谁,没有则向上找。
口诀:
成员变量:编译看左边,运行看左边
成员方法:编译看左边,运行看右边。

4、多态的好处

无论右边new的时候换成哪个子类对象,等号左边调用方法都不会变化。

5、对象的向上转型

对象的向上转型,其实就是多态写法:父类名称 对象名 = new 子类名称();
含义:右侧创建一个子类对象,把它当做父类来看待使用。
注意:向上转型一定是安全的**。**

6、对象的向下转型

向上转型一定是安全的,没有问题的,但是也有弊端
对象一旦向上转型为父类,就无法调用子类原本特有的内容。
解决方案:用对象的向下转型【还原】
对象的向下转型,其实是一个【还原】的动作。
格式:子类名称 对象名 = (子类名称)父类对象
含义:将父类对象还原成为本类的子类对象。
注意事项:
a、必须保证对象本类创建的时候就是某个子类,才能向下转型成为此子类。
b、如果对象创建的时候不是某个子类,现在要向下转型成为另一个子类,就会报错。

7、InstanceOf关键字进行类型判断

格式:对象 instanceof 类名称
这将会得到一个boolean值结果,也就是判断前面的对象能不能当做后面类型的实例。

猜你喜欢

转载自blog.csdn.net/Gaoju12138/article/details/109301273