1。可以将一个类的定义放到另一个类的定义内部,这就是内部类。
2。内部类能访问其外围对象的所有成员。
3。内部类对象只能在与其外部类对象相关联饿情况下才能别创建。
4。生成外部类对象的引用,外部类的名字后面加圆点和this(classNmme.this)。
5。要创建内部类的对象,必须使用外部类对象来创建内部类对象,在拥有外部类对象之前是不可能创建内部类的。(xx.new aa())
6。 匿名内部类使用,使用其外部定义的对象,要求参数引用是final。
7。匿名内部类不能继承与实现接口同时兼备,实现接口也只能实现一个。
8。嵌套类(内部类声明为static)创建时不需要外围类对象,不能从嵌套类访问非静态的外围类对象。
9。普通内部类不能有static数据和字段,也不能包含嵌套类,嵌套类可以。
10。每个内部类都能独立继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。
11。继承自一个内部类,需要在构造函数中传递一个指向外围类对象的引用,调用xx.super()。
12。在代码块中创建内部类,局部内部类不能有访问说明符,他不是外围类的一部分。
13。使用局部内部类的原因:需要不止一个该类的对象;需要一个已命名的构造器或需要重载构造器。
14。内部类也会生成class文件:外围类名字+
+内部类名字。匿名内部类,编译器会生成一个简单的字符来作为其标识符。如果内部类是嵌套的,只需直接将他们的名字加在外围类标识符与
的后面。
内部类
最新推荐文章于 2024-04-18 09:39:19 发布