这不是创建Interface的实例,而是创建一个实现接口的类.所以当你写作
Runnable runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
}
};
您实际上是在创建一个实现Runnable接口的类.
你需要遵循这里的所有规则,在这里,我们重写Runnable的run方法
There is similar thing for abstract class also. We can test using an example
public abstract class AbstractClass {
public void someMethod(){
System.out.println("abstract class");
}
}
和另一个类,即TestClass
public class TestClass {
public static void main(String[] args) {
AbstractClass abstractClass = new AbstractClass() {
public void someMethod() {
System.out.println("concrete class method");
}
};
abstractClass.someMethod();
}
}
这将创建一个子类的实例,我们在其中重写someMethod();
这个程序打印
concrete class method
这证明我们正在创建子类的实例.