Java中抽象类为什么可以实例化?

public class Abstract {
public static void main(String[] args){
AbstractComponent ab = new AbstractComponent(){} ;
ab.sayHello();
}
}

abstract class AbstractComponent {
public void sayHello(){
System.out.println("Hello");
}
}

对的,一个类是抽象类,就是类名前面加上abstract。
不能实例化,就是不能用new操作new一个新的抽象对象。
即Calendar c = new Calendar();不可以。追问

我刚查了 如果没有 抽象方法即使类用了abstract jvm也不把其当做抽象类。
AbstractComponent ab = new AbstractComponent(); 不能实例化
AbstractComponent ab = new AbstractComponent(){} ; 可以实例化??
上面的代码eclipse编译了,可以运行, 输出hello

温馨提示:内容为网友见解,仅供参考
无其他回答