成员内部类
成员内部类,定义在外部类中的成员位置。与类中的成员变量相似,可通过外部类对象进行访问
- A:定义格式
class 外部类 {
修饰符 class 内部类 {
//其他代码
}
}
- B:访问方式
外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
package com.itheima_01;
/*
* 成员内部类:
* 在类的成员位置,和成员变量和成员方法所在的位置是一样的
* 在内部类当中可以直接访问外部类的成员,包括私有成员
*/
public class InnerDemo {
public static void main(String[] args) {
// Outer o = new Outer();
// o.method();
Outer.Inner i = new Outer().new Inner();
i.function();
}
}
class Outer {
private int num = 10;
public void method() {
Inner i = new Inner();
i.function();
}
class Inner {
public void function() {
System.out.println(num);
}
}
}