java中的内部类和匿名内部类

内部类:顾名思义,内部类即定义在类内部的类。 如:class A{   class B{  } };

当我们编译A的时候,会生成A.class文件和A¥B.class文件。

当我们要生成一个B的对象,必须先生成外部类对象。我们要使用如下的方法:A a=new A(); A.B. b= new A().new B();

内部类可以随意使用外部类当中定义的成员变量。

 

匿名内部类:没用名字的内部类。一般写在参数里。

A.class:

interface A{

  doSomething();

}

//(接口不能直接生成对象,而需要通过implement来实现接口)

B.class:

class B{

  fun(A a){

    System.out.println("B类的函数");

    a.doSomething();

}

}

Test.class:

class Test{

  public static void main(String args []){

    B b=new B();

    b.fun(new A(){

      public void doSomething(){

        System.out.printkn("这里是匿名内部类");

}//A是接口不能直接实现,所以之后我们直接跟一个匿名内部类来实现A接口生成一个对象

});

}

}

 

 

posted @ 2013-05-02 10:47  android_lw  阅读(194)  评论(0)    收藏  举报