面向对象---内部类与接口

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_44779847/article/details/102732763

1.成员内部类:单独应用几率不高
1)类中套类,外面的称为Outer外部类,里面的称为Inner内部类
2)内部类通常只服务于外部类,对外不具备可见性
3)内部类对象通常是在外部类中创建的
4)内部类中可以直接访问外部类的成员(包括私有的)
内部类中有个隐式的引用指向了创建它的外部类对象
eg: 外部类名.this.
2.匿名内部类:
1)若想创建一个类(派生类)的对象,并且对象只被创建一次,
此时该类不必命名,称为匿名内部类
2)匿名内部类中若想访问外部的变量,该变量必须是final的
(在JDK1.8之前有此要求,JDK1.8可以不加final了)

常见面试题:
问:内部类有独立的.class吗?
答:有

1.接口:
1)是一种数据类型(引用类型)
2)由interface定义
3)只能包含常量和抽象方法
4)不能被实例化
5)接口是需要被实现/继承的,实现类/派生类:
必须重写接口中的所有抽象方法
6)一个类可以实现多个接口,用逗号分隔
若又继承又实现时,应先继承后实现
7)接口可以继承接口

设计规则:
1)将所有派生类所共有的属性和行为,抽到超类中-------抽共性
2)所有派生类的行为都一样,设计为普通方法
所有派生类的行为都不一样,设计为抽象方法
3)将部分派生类所共有的行为,抽到接口中
符合既是也是原则时,使用接口
接口是对继承的单根性的扩展---------多继承

猜你喜欢

转载自blog.csdn.net/qq_44779847/article/details/102732763