成员内部类结构
public class OuterClass { // 外部类
public class InnerClass { // 成员内部类
int InnerName; // 内部类成员变量
public void InnerMethod() {...} // 内部类成员方法
}
int OuterName; // 外部类成员变量
public void OuterMethod() {...} // 外部类成员方法
}
类表示一类事物,以身体和心脏为例,这就是具有包含关系的两类事物
public class Body { // 外部类
public class Heart { // 成员内部类
public void heartBeat() { // 内部类的方法
System.out.println("成功使用内部类,心脏跳动");
// 内用外随便访问,但是外用内有直接和间接方法
}
}
public void methodBody() { // 外部类的方法
System.out.println("使用了外部类的方法");
// 间接方式访问内部类:在外部类方法中使用内部类,然后main调用外部类
Heart heart = new Heart();
heart.heartBeat();
// new Heart().heartBeat(); // 使用匿名对象一句话也行
}
}
main程序中分别以直接、间接方式访问内部类的成员方法
public class Demo {
public static void main(String[] args) {
// 直接访问
Body.Heart heart=new Body().new Heart(); // 牢记格式
heart.heartBeat();
System.out.println("===========================");
// 间接访问
// 通过外部类对象调用外部类方法,外部类方法间接了使用内部类
Body body=new Body(); // 外部类对象
body.methodBody(); // 这个方法里使用了内部类方法
// new Body().methodBody(); 同样也可以一步到位
}
}
/*
成功使用内部类,心脏跳动
===========================
使用了外部类的方法
成功使用内部类,心脏跳动
*/