本帖最后由 feigecal 于 2012-7-23 17:06 编辑
当描述事物时,事物的内部还有事物,就用内部类来描述。内部类可以定义在外部类的成员位置上,也可以定义在外部类的方法内部即局部内部类。内部类保留着隐匿的外部类的引用Outer.this,所以可以直接访问外部类的成员变量包括私有的。外部类想要访问内部类的方法就必须new 一个内部类的对象,调用内部类方法的格式为new Outer().new Inter().function()。外部类只可以被public和默认修饰符修饰,但内部类可以被任意修饰成员的修饰符修饰,可以被私有也可以被静态,当内部类被静态后可以直接用外部类的名调用,调用内部类方法的格式为new Outer.Inter().function(),但是静态内部类只能访问外部类的静态成员,出现了访问局限。另外局部内部只能访问被final修饰的局部变量。 |