博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
匿名内部类new Runnable()
阅读量:5070 次
发布时间:2019-06-12

本文共 834 字,大约阅读时间需要 2 分钟。

匿名内部类(Anonymous Inner Class),在创建实例的同时给出类的定义,所有这些在一个表达式中完成。

Java code
1
2
3
4
Runnable rn = 
new 
Runnable() {
    
public 
void 
run() {
    
}
};


相当于:

Java code
1
2
3
4
5
class 
Anomymous 
implements 
Runnable {
    
public 
void 
run() {
    
}
}
Runnable rn = 
new 
Anomymous();


可以看到前者更简洁。(注意前者最后的分号不能省略,编译器把整个看作一条语句)
不过,匿名内部类仅限于只实例化一次的内部类,如果内部类需要多次实例化,通常用后者。
另外,匿名内部类要么继承一个父类,要么实现一个接口,不能两者兼有,实现接口时也不能实现多个接口。关于该问题可以参考这贴:

匿名内部类(Anonymous Inner Class),在创建实例的同时给出类的定义,所有这些在一个表达式中完成。

Java code
1
2
3
4
Runnable rn = 
new 
Runnable() {
    
public 
void 
run() {
    
}
};


相当于:

Java code
1
2
3
4
5
class 
Anomymous 
implements 
Runnable {
    
public 
void 
run() {
    
}
}
Runnable rn = 
new 
Anomymous();


可以看到前者更简洁。(注意前者最后的分号不能省略,编译器把整个看作一条语句)
不过,匿名内部类仅限于只实例化一次的内部类,如果内部类需要多次实例化,通常用后者。
另外,匿名内部类要么继承一个父类,要么实现一个接口,不能两者兼有,实现接口时也不能实现多个接口。关于该问题可以参考这贴:

转载于:https://www.cnblogs.com/tc310/p/4048196.html

你可能感兴趣的文章
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
关于indexOf的使用
查看>>
英语单词
查看>>
centos6.8下安装matlab2009(图片转帖)
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
新手Python第一天(接触)
查看>>
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>