JAVA:这段代码有些小问题 麻烦看下~

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:00:52
class China
{
final String nationalAnthem="义勇军进行曲";
Beijing beijing; //内部类声明的对象,作为外嵌类的成员
China()
{
beijing=new Beijing();
}
String getSong()
{
return nationlAnthem;
}
class Beiing //内部类的声明
{
String name="北京";
void speak()
{ System.out.println("我们是"+name+"我们的国歌是":+getSong());
}
}
}
public class Example4_30
{
public static void main(String args[])
{
China china=new China();
china.beijing.speak();
}
}

Beijing beijing;
China()
{
beijing=new Beijing();
}
为啥用Beijing这个类声明却在China这个类里面分配空间呢?不懂为啥要这样

这个是China类的构造函数.
这样写的效果就是每当你实例化一个China类的时候都会默认带着实例化一个Beijing的内部类.
字面上可以理解成"中国被默认带有一个北京"..

beijing 就是一个内部类,没什么特别,你在别的类中可以调用这个类中的方法,有效的隐藏方法的具体实现