内部类
内部类是指定义在另一个类内部的类,通常用于封装逻辑或访问外部类成员。可以将一个类定义到另一个类内,或一个方法内,里面的是内部类,外面的是外部类。
实例内部类
- 如何实例化:需要先实例化外部类对象,再通过外部类对象创建内部类实例。
- 访问权限:外部类的成员在内部类中都能直接访问。
![图片:字节码文件示例]
package test2;
class OutClass {
private int a = 3;
public static int b = 2;
class InClass {
private int a = 1;
// 在运行时确定的
// static 修饰的调用不需要实例化就能调用,而这个变量在内部类需要实例化内部类才能使用
// public static int d = 2;
public static final int d = 3; // 在编译的时候就确定了,是个常量,不依赖于实例化
public int e = 2;
public void test() {
System.out.println("inClass::test");
System.out.println(this.a); // 1
System.out.println(a);
System.out.println(OutClass..a);
}
}
{
();
System.out.println(inclass.a);
System.out.println(inclass.e);
System.out.println();
}
}
{
{
();
OutClass. class1. ();
OutClass. (). ();
class1.test();
class2.test();
}
}


