类可以有两种重要的成员:成员变量和方法,还可以有一种成员:内部类。
Java支持在一个类中声明另一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类。
声明内部类如同在类中声明方法或成员变量一样。
内部类中的方法也可以调用外嵌类中的方法。
内部类中不可以声明类变量或类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。
例:
class China{
final String nationalAnthem="义勇军进行曲";
Beijing beijing;//内部类声明的对象,作为外嵌类的成员
China(){
beijing=new Beijing();
}
String getSong(){
return nationalAnthem;
}
class Beijing{ //内部类的声明
String name="北京";
void speak(){
System.out.println("我们是"+name+" 我们的国歌是:"+getSong());
}
}
}
public class InnerClassExample{
public static void main(String args[]){
China china=new China();
china.beijing.speak();
}
}