java学习笔记4.6

来源:互联网 发布:怎么领取淘宝优酷会员 编辑:程序博客网 时间:2024/06/16 11:08

1、多态:动态加载机制

instanceof关键字:用于判断一个对象属不属于某一个类或者这个类的父类

一个父类的引用变量可以指向不同的子类对象,,或者说一个子类对象可以被当做一个父类类型

通过()来强制转换类型

一个父类的引用指向一个子类的对象,如果父类中的方法被子类重写的话,那么在调用对象时会默认的去调用子类中的该方法,实际上内存中存储的也是一个子类的对象。如果想要通过子类对象去调用父类中的方法的话,那么答案是:不行,你不能调用已经被覆盖掉的父类的方法。只有在子类中提供了调用父类方法的方法时,才可以使用子类中的方法去调用父类中的方法。

我在百度上找了一些资料,大概这一句话能说明为什么:

这也是覆盖override的最初设计意图之一。 
大多数时候,覆盖父类意味着子类想做些特殊的处理。如果能够跳过子类的特殊处理,就会打开一个无法控制的缺口,会导致很多很多问题
异构集合:创建父类类型的数组,里面可以存放子类对象的元素。
2、抽象
abstract修饰符,修饰类和方法。
抽象类不能被实例化,在声明时只能父类引用指向子类对象
有抽象方法的类一定是抽象类,抽象类的默认访问修饰符为public,不能被声明为private
任何子类必须重写抽象方法,除非本身也是抽象类

我百度上找了一些资料,大概这一句话能说明为什么:
我在百度上找了一些资料,大概这一句话能说明为什么:
0 0
原创粉丝点击