内部类分为三个:
实例内部类
1.实例化内部类中的方法可以直接使用外部类的实例变量和实例方法。在常规内部类中可以直接用内部类创建对象。
2.如何实例化内部类对象;
*外部类名.内部类名 变量 = 外部类对象的引用.new InnerClass();
- 实例内部类当中不能定义静态的成员变量?方法中也不能用静态的!!!!
-
public static final int data6 = 30;常量 -》 编译的时候 就确定了这个值 是几了
- 3.实例内部中如果,如果有成员变量和外部类的成员变量重名了?怎么办?
- 优先使用自己的。
- 如何拿到外部类的值呢?
- System.out.println("->>>" + OuterClass.this.data1);外部类的值调用
- System.out.println("&&&&&&&" + this.data1);内部类的值调用
- 意识到了:实例内部中不仅有自己的this 而且包含了 外部类的this
- 4代码图如下:
class InnerClass{
public int data1 = 10000;
public int data4 = 10;
private int data5 = 20;
public static final int data6 = 30;
public InnerClass(){
System.out.println("InnerClass的构造方法");
}
public void method(){
System.out.println("&&&&&&&" + this.data1);
System.out.println("->>>" + OuterClass.this.data1);
System.out.println(data2);
System.out.println(data3);
Syst