在 Java 里,你说的 “Super 超类” 一般有两层常见含义,我分开讲,并配上例子,方便理解。
super 关键字(最常问的)super 用于 子类访问父类 的成员(变量、方法、构造方法)。
class Animal {
Animal(String name) {
System.out.println("Animal:" + name);
}
}
class Dog extends Animal {
Dog() {
super("小狗"); // 必须放在第一行
}
}
✅ 注意:
super(...) 必须在子类构造方法的第一行super()(父类无参构造)class Animal {
void eat() {
System.out.println("动物吃东西");
}
}
class Dog extends Animal {
void eat() {
super.eat(); // 调用父类方法
System.out.println("狗吃骨头");
}
}
class Parent {
int x = 10;
}
class Child extends Parent {
int x = 20;
void show() {
System.out.println(x); // 20
System.out.println(super.x); // 10
}
}
超类 = 父类(被继承的类)
class Animal { // 超类 / 父类
}
class Dog extends Animal { // 子类
}
Animal 是 Dog 的 superclassprivate 成员super 访问父类❌ super 不能用于 static 方法
❌ super() 必须在构造方法第一行
❌ 不能调用父类的 private 成员
super是子类用来“找父类”的钥匙;超类就是被继承的类。
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。