1. 内部类的作用是什么?在什么地方用? * 当描述事物时,事物的内部还有事物,该事物用内部类来描述。 * 因为内部事物可以直接访问外部事物的内容。 * * 举例:人体 * 人体里面包含心肝脾肺肾 * * 人体:是一个外部类 * |--包含心脏跳动的方法 * |--包含肺的活动方法 * * 心脏:是一个内部类 * |--包含左心房的方法 * |--包含右心房的方法 * * * class Body * { * privateclass XinZang //内部类定义时,最好将其私有,不对外暴露 * { * voidshow TiaoDong(){} * } * * //对钱提供方法,来访问内部事物 * publicvoid show() * { * newXinZhang().TiaoDong(); 创建心脏对象 ,并访问跳动方法 * } * } 2. 为了解决什么问题? * --------------------------------------- * 把心脏定义在人体里面,这样符合自然规律。心脏可以直接在内部访问人体内的方法。
* 如果定义在外面,心脏还要创建人体的对象,然后才可以访问人体的方法,
class Oute{
private static int x =3;
static class Inner{ //静态内部类
static void function(){
System.out.println("Inner:" + x);//可以直接访问外部类静态成员变量
}
}
static class Inner2{
void method(){
System.out.println("inner2.show");
}
}
public static void show(){
new Inner2().method();//外部类静态方法访问内部类时,内部类也必须是静态的。
}
}
public class _Inner_static {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Oute.Inner().function();//在外部其他类中,访问内部类的非静态成员
Oute.Inner.function();//在外部其他类中,访问内部类的静态成员
new Oute().show();//调用外部类方法
}
}
希望能对你有帮助。。。。
|