您的位置:首页 > 编程语言 > Java开发

Java 匿名内部类的详解

2016-07-19 10:36 561 查看
匿名内部类:就是没有类名字的内部类。

匿名内部类作用:简化内部类书写。

匿名内部类的前提:必须继承一个父类或者是实现一个接口。

匿名内部类的格式:

new 父类或者接口(){
执行代码….};

内部类的写法是这样的:

public class Outer {

//内部类的写法
class Inner{
public void show(){
System.out.println("内部类的show方法");
}
}
public void print(){
new Inner().show();

}
}

匿名内部类调用show方法:

abstract class Inner{
abstract void show();
}

public class Outer {

//匿名内部类的写法
public void print(){
new Inner() {

@Override
void show() {
// TODO Auto-generated method stub
System.out.println("匿名内部类的show方法");
}
}.show();
}
}
案例:在外部类调用show1、show2方法。内部类的实现方法

class Outer{
class Inner{
public void show1(){
System.out.println("show1");
}
public void show2(){
System.out.println("show2");
}
}

public void print() {
Inner inner=new Inner();
inner.show1();
inner.show2();
}
}

使用匿名内部类实现: 

interface Inner{
public void show1();
public void show2();
}
class Outer{
Inner inner=new Inner() {

@Override
public void show2() {
// TODO Auto-generated method stub
System.out.println("show2");
}

@Override
public void show1() {
// TODO Auto-generated method stub
System.out.println("show1");
}
};
public void print(){
inner.show1();
inner.show2();
}
}

注意细节:

使用匿名内部类时,如果需要调用匿名内部类的两个方法或者两个方法以上。可以使用变量指向该对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 匿名内部类