关于匿名内部类的两句话 小弟是在不能理解 请高手解答下

lhbyjx 2007-10-22 09:58:23
书上说:
匿名内部类即可以扩展类,也可以实现接口,但是不能两者兼备。而且如果是实现接口,也只能实现一个接口。
哪位大虾给小弟解释下这两句话,是在不能理解。
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan1980 2007-10-22
  • 打赏
  • 举报
回复
先搞清楚什么叫匿名内部类再说!

形于下面这种形式的定义叫匿名内部类:


Object o = new Object() { // 扩展自Object类
public String toString() {
// 覆盖toString()方法
}
};


或者:


Runnable thread = new Runnable() { // 实现Runnable接口
public void run() {
// 实现run()方法
}
};


也就是在定义变量的同时来定义它的类,由于一个变量只能定义成一种类型,当然匿名内部类只能扩展一个类或者实现一个接口了。
johnsoncr 2007-10-22
  • 打赏
  • 举报
回复
假如不是匿名类,而是一个普通类,我们是不是可以这样写:
class Universal extends FatherClass implements Interface1,Interface2 { }

普通类Universal 继承于类FatherClass ,同时又实现了Interface1与Interface2接口。(实现了两个接口)

而对于一个匿名类,就不能象上面的Universal既有继承,又有实现。且如果是实现只能是实现一个接口。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧