问题描述
- java中下面这段代码是一个匿名对象传入一个匿名对象在调用start方法吗
-
new Thread(new Runnable() {.....省略代码若干..........}).start();上面这段代码是一个匿名对象传入一个匿名对象在调用start方法吗
还是一个匿名类传入一个匿名对象再调用start方法
我有点分不清匿名对象和匿名类呢
解决方案
new Runnable() {.....省略代码若干..........}
匿名类,因为Runnable是接口,需要实现类
new Thread
匿名对象,Thread本身就是类,没有匿名
所以是匿名对象嵌套匿名类
解决方案二:
可以这么理解,匿名对象就是直接new的一个对象而没有用某个变量接收,参数是创建了一个匿名类实现Runnable接口,并创建一个这个匿名类的对象作为Thread类构造参数。匿名类是类,是为了不单独创建一个类而临时实现的,好处就是用完就扔,不会创建类文件。
时间: 2025-01-05 16:29:06