Java内部类

1.什么是内部类

定义在一个类里面的类 里面的类被称为内部类

包含内部类的类 称为外部类

内部类 也可以设置访问权限public、private 等修饰符

内部类可以访问外部类的所有成员包括private成员

2.如何创建一个内部类对象

在外部类之外的任何地方创建内部类对象 需要指明内部类类型方式如下

OuterClassName.InnerClassName 

在内部类是非static类时,构建内部类需要外部类对象引用例如下面代码

package com.example;

public class Outer {
	
	private int a;
	
	public class Inner {
		
		public void printf() {
			System.out.println(a);
		}
	}
	
}

import com.example.Outer;

public class Final {
	
	public static void main(String[] args) {
		Outer.Inner i = new Outer().new Inner();
		i.printf();
	}
}


如果内部类是static类情况又是如何的啊

package com.example;

public class Outer {
	
	private static int a;
	
	public static class Inner {
		
		public void printf() {
			System.out.println(a);
		}
	}
	
}
static内部类 只能访问外部类的static成员
import com.example.Outer;

public class Final {
	
	public static void main(String[] args) {
		Outer.Inner i = new Outer.Inner();
		i.printf();
	}
}
在构建static内部类对象是不需要指定外部类对象引用了直接通过外部类名就可以调用内部类的构造方法了。

你可能感兴趣的:(java,内部类,外部类)