内部类

作者在 2011-11-04 22:31:23 发布以下内容
1.

Outer.Inner inner=new Outer().new Inner();//内部类的调用
 
2.静态内部类可以直接访问外部类的静态成员,如果访问外部类的实例成员,必须通过外部类的实例去访问。

3.客户类可以通过完整的类名直接访问静态内部类的静态成员。

4.

class A2{
//    B b=new B();//局部内部类只能在当前的方法中使用
    
    public void method(){
        class B{
            int v1;
            int v2;
        }
    B c=new B();
    }
}
 
5.局部内部类和实例内部类一样,可以直接访问外部类的所有成员,此外局部内部类还可以访问所在方法中的final类型的参数和变量。
class A3{
    int a;
    public void method(final int p1,int p2){
        int localV1=1;
        final int localV2=2;
        
        class B{
            int b1=a;
            int b2=p1;
//            int b3=p2;//*
//            int b4=localV1;//*
            int b5=localV2;
        }
    }
}
 
6.匿名类是一种特殊的内部类,这种类没有名字。“new A(){……};”语句定义了一个继承类A的匿名类,大括号内是类A的类体。“new A(){……};”语句返回该匿名类的一个实例的引用。
文章评论,共0条
游客请输入验证码
浏览17070次
最新评论