【发布时间】:2018-04-15 07:40:33
【问题描述】:
我们知道在 java 中不能创建抽象类的实例。 但是,这行得通:
public abstract class MyAbstract
{
int num = 10;
}
//and in main class
public static void main(String[] args) {
MyAbstract abstractObject = new MyAbstract() {};
System.out.println(abstractObject.num);
}
输出: 跑: 10
所以我们可以吗? 简而言之,这里发生了什么?
【问题讨论】:
-
MyAbstract abstractObject = new MyAbstract() {};创建MyAbstractClass的new 子类。那个子类的名字?它没有。这就是为什么它被称为 anonymous 类。