首页 > 代码库 > Java课程笔记_4

Java课程笔记_4

1 内部类——在一个类中定义另一个类,当建立一个inner class时,其对象拥有与外部对象之间的一种关系,通过this.referance形成,使得内部类可以访问外部类中所有的成员。

2 在内部类的方法中访问局部变量直接引用,访问Inner类的成员变量,用this.x,访问外部类M的成员变量,用M.this.x。

3 在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明final。内部类可以声明为private或protected,还可以被声明为abstract或final。

4 内部类可以声明为static的,但此时就不能使用外部类的非static的成员变量和非static的成员方法。

class Outer{  private int index = 100; 定义外部类数据成员   class Inner   {...}   Inner getInner()   {       return new Inner();\\产生一个Inner类对象   }  public static void main(String []args)  {  Outer outer = new Outer();  Inner inner = outer.getInner(); 产生一个outer对象后,利用该对象调用getInner()函数,产生一个  Inner类对象   inner.print();  }}class Test{  public static void main(String []args)  {  Outer outer = new Outer();  Outer.Inner inner = outer.new Inner();\\和外部类对象outer相关联,才能创建内部对象  }}

5 非static的内部类中的成员不能声明static成员,只有在顶层类或static的内部类中才可声明static成员。