匿名内部类
/**
* 测试匿名内部类
*/
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方法的()中
}
}
下一篇:抽象类和接口的区别
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
