多态, 内部类

一 多态

1,多态的体现
父类的引用指向了自己的子类对象。
父类的引用也可以接收自己的子类对象。
2,多态的前提
必须是类与类之间有关系。要么继承,要么实现。
通常还有一个前提:存在覆盖。


3,多态的好处
多态的出现大大的提高程序的扩展性。


4,多态的弊端:
虽然提高了扩展性,但是只能使用父类的引用访问父类中的成员。


5,多态的应用
一般会有个工具类,制作一个方法是针对一种类型对象所操作的


6,多态的出现代码中的特点(多态使用的注意事项)
在多态中,成员函数(非静态的)的特点:
在编译时期:参阅引用类型变量所属的类中是否有调用的方法。
如果有,编译通过,如果没有编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法


7,面试
在多态中成员变量的特点:
无论编译与运行,都参考左边(引用的数据类型所属的类);


在多态中成员静态函数的特点:
无论编译与运行,都参考左边


二 内部类


内部类的访问规则:
1,内部类可以直接访问外部类中的成员,包括私有。
之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this
2,外部类要访问内部类,必须建立内部类对象。


访问格式:
1,当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中。
可以直接建立内部类对象。
格式
外部类名.内部类名  变量名 = 外部类对象.内部类对象;


2,当内部类在成员位置上,就可以被成员修饰符所修饰。
比如,private:将内部类在外部类中进行封装。
static:内部类就具备static的特性。
当内部类被static修饰后,只能直接访问外部类中的static成员。出现了访问局限。


注意:当内部类中定义了静态成员,该内部类必须是static的。
 当外部类中的静态方法访问内部类时,内部类也必须是static的。


内部类定义在局部时,
1,不可以被成员修饰符修饰
2,可以直接访问外部类中的成员,因为还持有外部类中的引用。
但是不可以访问它所在的局部中的变量。只能访问被final修饰的局部变量。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值