public class TestLinkedList {
public static void main(String[] args) {
TestLinkedList ls = new TestLinkedList();
List list = new LinkedList();
for (int i = 10; i > 0; i--) {
list.add(ls.new IntModel(i));
}
}
class IntModel{
int i = 1;
public IntModel(int i){
this.i = i;
}
@Override
public String toString() {
return Integer.toString(i);
}
}
}
看代码中list.add()方法必须初始化外部类自后才可以用new初始化内部类普通的内部类对象隐含地保存了一个引用,指向创建它的外围类对象。
所以要在static方法(类加载时已经初始化)调用内部类的必须先创建外部类。
下面在说下嵌套类:如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested class)。想要理解static应用于内部类时的含义,你就必须记住,普通的内部类对象隐含地保存了一个引用,指向创建它的外围类对象。然而,当内部类是static的时,就不是这样了。嵌套类意味着:
1. 要创建嵌套类的对象,并不需要其外围类的对象。
2. 不能从嵌套类的对象中访问非静态的外围类对象。
(Thinking in java)
最后
以上就是冷酷水杯最近收集整理的关于java 外部类静态方法访问内部类_java 外部类静态方法访问内部类的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复