“超类构造器”这个说法通常出现在面向对象编程里,一般指父类(基类 / 超类)的构造方法。不同语言写法不太一样,我分别说一下最常见的情况。
在 Java 中:
super(...) 调用class Animal {
Animal() {
System.out.println("Animal 构造");
}
}
class Dog extends Animal {
Dog() {
// 默认隐含 super();
System.out.println("Dog 构造");
}
}
class Animal {
Animal(String name) {
System.out.println(name);
}
}
class Dog extends Animal {
Dog() {
super("狗");
}
}
⚠️ 注意:
super(...) 必须是构造器第一行Python 用 super():
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, age):
super().__init__(name)
self.age = age
✅ Python 3 推荐用 super()
❌ 不推荐直接 Animal.__init__(self, name)
class Animal {
public:
Animal(string name) {}
};
class Dog : public Animal {
public:
Dog(string name, int age) : Animal(name) {}
};
✅ 使用初始化列表调用基类构造器
private如果你说的是某一个具体语言(比如 Java / Python / C++ / Kotlin),或者是在某段代码里不会写,可以直接把代码贴出来,我帮你改。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。