6

面试的时候,面试官问我

我们可以创建没有名字的类吗?

因为,我不确定是否真的可以创建一个没有名字的类。所以,我说不

后来,我尝试谷歌搜索,发现,其他人也在寻找相同问题的答案,但我没有找到明确的答案。

如果有人清楚地解释这门课,我将不胜感激。我的意思是,那个类在技术上被称为什么,我们如何实例化这个类?

4

3 回答 3

11

是的,它被称为匿名类/结构。

在 C++ 中:

class {
} x;

x是该类型的对象,你不能再创建了,因为,好吧,你会怎么做,因为这个类没有名字和所有......

如何调用构造函数和析构函数

你没有。在 Java 和 C++ 中,构造函数和析构函数与类具有相同的名称(它们不是 PHP -__construct或其他),并且缺少名称会妨碍。

于 2012-10-22T14:35:09.887 回答
6

它在 Java 中也称为匿名类。

// create a new instance of an anonymous class.
Serializable s = new Serializable() {
};

注意:在 JVM 中,所有类都有一个名称,它是由编译器为您生成的。

你不能定义构造函数,但它可以有一个实例初始化块来做同样的事情。

于 2012-10-22T14:37:10.980 回答
0

在 java 中,您可以创建“匿名内部类”,有关详细答案,请参阅How are Anonymous (inner) classes used in Java?

于 2012-10-22T14:38:47.037 回答