目标
定义成员内部类,具有属性具有方法
在测试类中实例化成员内部类并操作内部类对象的属性与方法
关于成员内部类
它位于成员变量的级别
示例
public class Outter {
// 成员属性
public String name = "成员属性";
// 成员方法
public void fn() {
System.out.println("成员方法");
}
// 成员内部类
public class Inner {
// 内部类的属性
public String name = "内部类属性";
// 内部类的方法
public void fn2() {
System.out.println("内部类的方法");
}
}
}
成员内部类的调用
public class Test {
public static void main(String[] args) {
// 实例化外部类的对象
Outter outter = new Outter();
// 通过对象来获得成员东西
// 成员属性
System.out.println(outter.name);
// 成员方法
outter.fn();
// 实例化成员内部类
Outter.Inner inner = outter.new Inner();
// 调用内部类的属性
System.out.println(inner.name);
// 操作内部类的方法
inner.fn2();
}
}
内部类方法 操作属性与方法
// 内部类的方法
public void fn2() {
System.out.println("内部类的方法!!!");
// 获取局部变量name的值,没有就找成员变量的name值
System.out.println(name);
// 获取成员变量name的值
System.out.println(this.name);
// 获取外部类成员变量name的值
System.out.println(Outter.this.name);
// 调用外部类的成员方法fn
Outter.this.fn();
}