内部类
概念与使用:
1)将一个类的定义放在另一个类的定义内部
2)如果想要创建某个内部类的对象需要指明这个对象的类型:OuterClassName.InnerClassName
比如下面code中的Outer.Inner inner = outer.getInner()
3)内部类的对象只能在与其外围类的对象相关联的情况下才能被创建
public class Test {
public static void main(String[] args) {
Outer outer = new Outer("Android");
Outer.Inner inner = outer.getInner();//OuterClassName.InnerClassName
System.out.println(inner.result());
}
}
class Outer {
private String name;
public Outer(String str) {
name = str;
}
//Inner是内部类,Inner定义在Outer内部
class Inner {
public String result() {
return name;
}
}
public Inner getInner() {
return new Inner();
}
}
输出结果:Android
链接到外围类
概念:
创建了内部类对象时,它会与创造它的外围对象有了某种联系,于是能访问外围类的所有成员,不需任何特殊条件。 也就是说,内部类可以访问其外围对象的所有成员,而不需要任何特殊条件。