Java内部类

在类Outer的内部再定义一个类Inner,此时类inner就称为内部类,而类outer则称为外部类。

内部类的唯一好处就是可以方便的访问外部类中的私有属性

class outer{
	private String info = "Hello World!";
	class inner{
		public void print(){
			System.out.println(info);
		}
	};
	
	public void fun(){
		new inner().print();
	}
};

public class inner_test {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		new outer().fun();
	}

}

 

使用static定义内部类

使用static声明的内部类变成了外部类,但是用static声明的内部类不能方位非static申明的外部类属性。

其中inner()要有static

class outer{
	private static String info = "Hello World!";
	static class inner{
		public void print(){
			System.out.println(info);
		}
	};
	

public class inner_test {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		new outer.inner().print();
	}

}

 

在外部访问内部类

一个内部类除了可以通过外部类访问,也可以直接在其他类中进行调用,调用的基本格式:

外部类.内部类 内部类对象 = 外部类实例.new 内部类();

你可能感兴趣的:(Java内部类)