-
-
对象的多态性: 多态在代码中的体现:父类或者接口的引用指向其子类的对象。
-
-
多态的好处:提高了代码的扩展性,前期定义的代码可以使用后期的内容。
-
-
多态的弊端:前期定义的内容(调用)不能使用后期子类的特有内容。
-
多态的前提:1必须有关系,继承,实现。2 要有覆盖。
-
转型:注意:对于转型,自始至终都是子类对象在做着类型的变化。
-
ClassCastException 类型转换异常
-
多态---类型判断:instanceof:用于判断对象的具体类型。只能用于引用数据类型判断。
-
通常在向下转型前用于健壮性的判断。
-
多态----成员的特点: 结果为3
-
1成员变量:编译时:参考引用型变量所属的类中是否有调用的成员变量,有,编译通过,没有,编译失败。运行时:参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。简单说:编译和运行都参考等号的左边。
-
2成员函数(非静态):编译时: 参考引用型变量所属的类中是否有调用的函数。有,编译通过,没有,编译失败。
-
运行时:参考的是对象所属的类中是否有调用的函数。
-
简单说:编译看左边,运行看右边。
-
3静态函数:编译时:参考引用型变量所属的类中是否有调用的静态方法。运行时:参考引用型变量所属的类中是否有调用的静态方法。
-
简单说:编译和运行都看左边。
-
其实对于静态方法,是不需要对象的。直接用类名调用即可。
-
内部类
-
内部类访问特点:1内部类可以直接访问外部类中的成员。2外部类要访问内部类,必须建立内部类的对象。
-
一般用于类的设计。分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。这时就是还有的事物定义成内部类来描述。
-
-
静态成员只能访问静态变量。
-
如果内部类中定义了静态成员,该内部类也必须是静态的。
-
-
为什么内部类能直接访问外部类中成员呢?
-
那是因为内部类持有了外部类的引用。外部类名.this
-
内部类可以存放在局部位置上。
-
内部类在局部位置上只能访问局部 中被final修饰的局部变量。
-
-
-
匿名内部类:就是内部类的简写格式。
-
必须有前提:内部类必须继承或者实现一个外部类或者接口。
-
匿名内部类:其实就是一个匿名子类对象。
-
格式: new 父类or接口(){子类内容}
-
匿名内部类:通常的使用场景之一:当函数参数是接口类型时,而且接口中的方法不超过三个。可以用匿名内部类作为实际参数进行传递。
-
对象的初始化过程:
JAVA学习笔记(10)接口,多态,内部类,对象初始化过程
猜你喜欢
转载自blog.csdn.net/qq_39500966/article/details/81388798
今日推荐
周排行