内部类: 所谓内部类就是在一个类内部进行其他类结构的嵌套操作。
内部类的优点:
内部类与外部类可以方便的访问彼此的私有域(包括私有方法、私有属性)。
内部类是另外一种封装,对外部的其他类隐藏。
内部类可以实现java的单继承局限。
内部类的缺点:
结构复杂。
记录:使用内部类实现多继承:
在Java中内部类主要分为成员内部类、静态内部类、方法内部类、匿名内部类
1、成员内部类:类似成员方法
成员内部类内部不允许存在任何static变量或方法 正如成员方法中不能有任何静态属性 (成员方法与对象相关、静态属性与类有关)
成员内部类是依附外部类的,只有创建了外部类才能创建内部类。
2、静态内部类:关键字static可以修饰成员变量、方法、代码块、其实还可以修饰内部类,使用static修饰的内部类我们称之为静态内部类。
3、方法内部类:方法内部类顾名思义就是定义在方法里的类
(1)方法内部类不允许使用访问权限修饰符(public、private、protected)均不允许。
(2)方法内部类对外部完全隐藏,除了创建这个类的方法可以访问它以外,其他地方均不能访问 (换句话说其他方法或者类都不知道有这个类的存在)方法内部类对外部完全隐藏,出了创建这个类的方法可以访问它,其他地方均不能访问。
(2)方法内部类如果想要使用方法形参,该形参必须使用final声明(JDK8形参变为隐式final声明)
4、匿名内部类:名内部类就是一个没有名字的方法内部类,因此特点和方法与方法内部类完全一致,除此之外,还有自己的特点:
(1)匿名内部类必须继承一个抽象类或者实现一个接口。
(2)匿名内部类没有类名,因此没有构造方法。
欢迎大家批评指正,指出问题,谢谢!