访谈:是否可以创建一个没有名字的课程?

时间:2012-10-22 14:34:31

标签: java c++ class oop

在我的采访中,面试官问我

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

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

后来,我尝试使用Google搜索并发现,其他人也在寻找同一问题的答案,但我没有找到明确的答案。

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

3 个答案:

答案 0 :(得分:11)

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

在C ++中:

class {
} x;

x是该类型的对象,您不能再创建了,因为,如果该类没有名称,那么您将如何...

  

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

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

答案 1 :(得分:6)

它在Java中也称为匿名类。

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

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

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

答案 2 :(得分:0)

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