匿名内部类

匿名内部类

编码文章call10242025-06-21 18:02:044A+A-

/**

* 测试匿名内部类

*/

public interface Running{

//定义一个接口

void run();

//接口默认public abstract

}

class Outer3{

public void go(Running r){

//这里只是调用public接口并不是实现接口

//接口引用变量r 不是new接口 接口不可以new

//形参r对应的实参是接口的实现类的对象

r.run();

}

public static void main(String[] args) {

Outer3 o3 = new Outer3();

o3.go(new Running(){

//这里是new了一个接口Running的实现类(没有名字) 即匿名内部类

// 这么new是因为只想在这里使用一次 后续不再调用 所以不需要单独创建实现类再调用进来

//new ()是类的构造方法 ()后的{}是类的类体 内部和普通的类写法一样

public void run(){

//重写实现run()方法

//接口方法是public 实现方法要加public

System.out.println("匿名内部类没有名字,后续也不会再被调用,这里用完即丢掉");

}

//只需要实现接口的抽象方法 类就可以创建了

});

//构造方法及类体包裹在o3.go方法的()中

}

}

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4