面试的时候,面试官问我
我们可以创建没有名字的类吗?
因为,我不确定是否真的可以创建一个没有名字的类。所以,我说不。
后来,我尝试谷歌搜索,发现,其他人也在寻找相同问题的答案,但我没有找到明确的答案。
如果有人清楚地解释这门课,我将不胜感激。我的意思是,那个类在技术上被称为什么,我们如何实例化这个类?
是的,它被称为匿名类/结构。
在 C++ 中:
class {
} x;
x
是该类型的对象,你不能再创建了,因为,好吧,你会怎么做,因为这个类没有名字和所有......
如何调用构造函数和析构函数
你没有。在 Java 和 C++ 中,构造函数和析构函数与类具有相同的名称(它们不是 PHP -__construct
或其他),并且缺少名称会妨碍。
它在 Java 中也称为匿名类。
// create a new instance of an anonymous class.
Serializable s = new Serializable() {
};
注意:在 JVM 中,所有类都有一个名称,它是由编译器为您生成的。
你不能定义构造函数,但它可以有一个实例初始化块来做同样的事情。
在 java 中,您可以创建“匿名内部类”,有关详细答案,请参阅How are Anonymous (inner) classes used in Java?