在我的采访中,面试官问我
我们可以创建没有名字的课程吗?
因为,我不确定,是否真的可以创建一个没有名字的类。所以,我说不。
后来,我尝试使用Google搜索并发现,其他人也在寻找同一问题的答案,但我没有找到明确的答案。
如果有人清楚地解释这门课,我将不胜感激。我的意思是,这个类在技术上知道什么,我们如何实例化这个类?
答案 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?