内部类和匿名内部类

1.什么是内部类

Class A{

int i

Class B{

int j;

int funB(){

int result=i+j;

}

}

}

编译后:

2.内部类的使用方法

如何生成内部类的对象?

要生成内部类的对象首先要生成外部类的对象

BA的内部类意味着B可以随意使用A的成员变量和成员函数

但是B不拥有A的成员变量和成员函数

3.匿名内部类的使用方法

interface A{

Public void doSomething();

}

Class B{

Public void fun(A a){

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

a.doSomething();

}

}

Class Aimpl implements A{

Public void doSomething(){

System.out.println("doSomething");

}

}

Class Test{

Public static void main(String[] args){

Aimpl al = new Aimpl();

A a = al;

   

B b = new B();

b.fun(a);//正常写法

//匿名内部类

b.fun(new A(){

Public void doSomething(){

System.out.println("匿名内部类");

}

});

}

}

B的fun()这个函数需要A类型的对象作为参数

   

New A(){

}

new接口指的是要实现这个接口 后面必须跟上实现类

posted @ 2017-04-17 15:44  LuBoom  阅读(408)  评论(0编辑  收藏  举报