Java 匿名内部类的详解

来源:互联网 发布:sql查询语句实例股票 编辑:程序博客网 时间:2024/06/06 16:33

匿名内部类:就是没有类名字的内部类。

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

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

匿名内部类的格式:

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() {@Overridevoid show() {// TODO Auto-generated method stubSystem.out.println("匿名内部类的show方法");}}.show();}}

案例:在外部类调用show1show2方法。内部类的实现方法

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() {@Overridepublic void show2() {// TODO Auto-generated method stubSystem.out.println("show2");}@Overridepublic void show1() {// TODO Auto-generated method stubSystem.out.println("show1");}};public void print(){inner.show1();inner.show2();}}

注意细节:

使用匿名内部类时,如果需要调用匿名内部类的两个方法或者两个方法以上。可以使用变量指向该对象。


0 0
原创粉丝点击