1、成员内部类的使用 / 成员内部类方法(变量)的使用
直接使用成员内部类 —— 直接构造成员内部类对象;
间接使用成员内部类 —— 通过外部类的对象,调用外部类的方法,外部类创建内部类的对象...
public class Body {
public class Heart{
public void beat(){
System.out.println("心脏怦怦...");
}
}
// 外用内 —— 需要内部类的对象
public void useHeart(){
Heart heart = new Heart();
heart.beat();
}
}
public class test {
public static void main(String[] args) {
// 直接使用成员内部类 —— 直接构造成员内部类对象
Body.Heart a = new Body().new Heart();
a.beat();
// 间接使用成员内部类 —— 通过外部类的对象,调用外部类的方法,外部类创建内部类的对象...
Body b = new Body();
b.useHeart();
}
}
2、解决外部类成员变量、内部类成员变量、内部类成员方法局部变量重名问题
变量名
this.变量名
外部类名.this.变量名
public class Body {
public int num = 10;
public class Heart{
public int num = 20;
public void beat(){
int num = 30;
System.out.println("心脏怦怦...");
// 输出方法内部的局部变量 = 10
System.out.println(num);
// 输出内部类的成员变量 = 20
System.out.println(this.num);
// 输出外部类的成员变量 = 30
System.out.println(Body.this.num);
}
}
}