如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类
内部类的分类:
1.成员内部类
2.局部内部类(包含匿名内部类)
成员内部类的定义格式:
修饰符 class 外部类名称 {
修饰符 class 内部类名称 {
。。。。
}
。。。。
}
注意:内用外,随意访问外用内,需要救助内部类对象
如何使用成员的内部类?有两种方法
1.间接访问:在外部类的方法中,使用内部类;然后main只是调用外部类的方法
2.直接访问:公式:
外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
定义类与内部类
public class Body {
public class Heart{//成员内部类
//内部类的方法
public void beat() {
System.out.println("心脏跳动");
System.out.println("我叫:"+name);//正确写法
}
}
//外部类的成员变量
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//外部类的方法
public void methodBody() {
System.out.println("外部类的方法");
/*
* Heart heart=new Heart(); heart.beat();
*/
new Heart().beat();
}
}
下面是mian函数
public static void main(String[] args) {
Body body=new Body();//外部类的对象
//通过外部类的对象,调用外部类的方法,里面间接使用内部内Heart
body.methodBody();
System.out.println("===================");
//外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
Body.Heart heart=new Body().new Heart();
heart.beat();
}
运行结果
外部类的方法
心脏跳动
我叫:null
===================
心脏跳动
我叫:null