t=new Thread(new Runnable(){主体}) Thread是匿名类吗?java
是
t=new Thread(new Runnable(){主体})
表示Thread接收一个实现Runnable接口的类作为参数;
但 new Runnable() 在java语法上不成立,因为接口不能被实例化
改成new Runnable(){主体} 表示一个实现了Runnable接口的类,这个类和传统的类定义不一样
如class A implements Runnable(){主体} 不一样,它没有类名
因此叫做匿名类(全称是匿名内部类),因此它只在本作用域中有效,属于一个类,即内部类
想查看结果,在编译后的目录下,可以看到一个 主类名$匿名类名.class的文件
匿名类名 由编译器给出。
亲,如果回答满意,请及时采纳。谢谢!!
请问这个java中的Runnable r=new Runnable(){….run()..};是什么用法?
public class ClassTest {
public static void main(String[] args) {
Printable printable = new Printable() {
public void print() {
System.out.println(getClass());
}
};
printable.print();
Person person = new Person();
person.sayHello();
Person person2 = new Person() {
public void sayHello() {
System.out.println(“你好”);
}
};
person2.sayHello();
}
}
interface Printable {
void print();
}
class Person {
public void sayHello() {
System.out.println(“Hello”);
}
}
这是Java匿名内部类的用法。对于一个接口,他就是实现;对于类,他就是继承。
输出
class ClassTest$1
Hello
你好
在java中,Runnable a=new Runnable(){};是什么意思??是一个
这是对runnable类的实例化。只有实例化了才可以调用该类的方法。