欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA 在外部类外部访问内部类,静态内部类和非静态内部类的区别

程序员文章站 2022-07-14 12:03:50
...

在外部类外部访问非静态类内部类:

package a;
class Wai{
	 class Nei{
		int i=3;
	}
	
	
}
public class test{
	public static void main(String[] args){
		 Wai.Nei wn1=new Wai().new Nei();
		 System.out.println("内部类中的变量i:"+wn1.i);
		
	}
}

在外部类外部访问静态类内部类:

package a;
class Wai{
	static class Nei{
		int i=3;
	}
	
	
}
public class test{
	public static void main(String[] args){
		 Wai.Nei wn1=new Wai.Nei();
		 System.out.println("内部类中的变量i:"+wn1.i);
		
	}
}


区别:

访问非静态内部类:

Wai.Nei wn1=new Wai().new Nei();

访问静态内部类:

Wai.Nei wn1=new Wai.Nei();


静态内部类属于类成员,不属于任何类的实例成员,所以不需要像非静态内部类那样"new Wai()"实例类后再实例内部类

只需要直接new该Wai类下的静态内部类即可