可以将一个类的定义放在另一个类的定义内部,这就是内部类 内部类有效地是实现了”多重继承”,内部类允许继承多个非接口类型(类或抽象类)
如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,一般指在静态方法内,如main(),需要具体指明这个对象的类型:OuterClassName.InnerClassName
Parcel p = new Parcel();Parcel.Content c = q.content();内部类自动拥有对其外围类所有成员的访问权
.this, 生成对外部类对象的引用
return Parcel.this;.new,告知外部对象,去创建其某个内部类的对象
Parcel.Content c = q.new Content();在定义内部类的作用域之外,它是不可用的
if(b){ class Inner{ Inner(){} } new Inner();}创建一个继承自Content的匿名类的对象 匿名类使用在其外部定义的对象,编译器要求其参数引用是final的
声明为static的内部类 不需要内部类对象与其外围类对象有联系
新闻热点
疑难解答