嵌套类
学习嵌套类之前,我们先对嵌套类的定义进行充分的学习,以便我们能够对嵌套类的理解更加透彻。
嵌套类:当我们不需要内部类对象与其外围类对象之间有联系,我们可以将内部类声明为static。
嵌套类与普通的内部类区别:在嵌套类中我们用static来对普通的内部类对象隐式的保存的指向创建他的外围类对象。
嵌套类意义:
(1)要创建嵌套类的对象,并不需要其外围类的对象。
(2)不能从嵌套类的对象中访问非静态的外围类对象。
区别:普通的内部类不能有static数据和static字段,也不能包含嵌套类。但嵌套类可以包含他们。
说了这么多,对定义有了深刻的认识之后,我们还需从实践中学习,毕竟实践是检验真理的唯一标准,我们看下面的例子:
public class Parcel11 {
private static class ParcelContents implements Contents{
private int i=11;
public int value() {
return i;
}
}
protected static class ParcelDestination
implements Destination{
private String label;
private ParcelDestination(String whereTo) {
label = whereTo;
}
public String readLabel() {
return label;
}
public static void f() {}
static int x = 10;
static class AnotherLevel{
public static void f() {}
static int x=10;
}
}
public static Destination destination(String s) {
return new ParcelDestination(s);
}
public static Contents contents() {
return new ParcelContents();
}
public static void main(String[] args) {
Contents c= contents();
Destination d=destination("Tasmania");
}
}
该段代码没有输出。
我们看完代码后,结合我们前面学的.this和.new那一章节可以知道,在嵌套类中没有.this的应用,这也说明了嵌套类不能链接到外围类对象。
如需了解,请对那一章节进行学习,可以更好地掌握!
请批评指正,谢谢!