请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

不太理解同时使用的两种方式的语法

public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(“我来自Runnable”);
}
}) ***{
@Override
public void run() {
System.out.println(“我来自Thread”);
}
}***.start();
}

不是很明白这样的写法,***号之间的内容,start前面的那对大括号。

正在回答 回答被采纳积分+3

1回答

悟空 2019-10-19 16:10:19

这个大括号里面的内容,是“重写”的语法,相当于把Thread类里原本的run方法给重写了。前面的Override是实现Runnable接口的方法,两个Override的含义不一样。

0 回复 有任何疑惑可以回复我~
  • 这种写法太变态,明明new了对象,是个实例了,才来复写方法,还好是编译阶段?
    回复 有任何疑惑可以回复我~ 2020-02-13 19:24:46
  • 悟空 回复 慕圣7178422 #2
    这种写法是为了学习使用,加深理解用的,实际上不会使用在工程中。
    回复 有任何疑惑可以回复我~ 2020-02-13 19:26:56
  • 慕圣7178422 回复 悟空 #3
    谢谢答复,如果是别的类,这样写,新创建的多个类的方法都会被覆盖吗?
    回复 有任何疑惑可以回复我~ 2020-02-13 19:36:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信