在 Java 中,“超类”通常指父类( superclass / base class),也就是被其他类继承的类。定义超类的方式其实和定义普通类一样,只是它会被别的类用 extends 继承。
// 超类
public class Animal {
String name;
public void eat() {
System.out.println(name + "在吃东西");
}
}
子类继承它:
// 子类
public class Dog extends Animal {
public void bark() {
System.out.println(name + "在叫");
}
}
使用:
Dog dog = new Dog();
dog.name = "小狗";
dog.eat(); // 来自超类
dog.bark(); // 来自子类
abstract 定义抽象超类(常见)如果超类本身不该被直接创建对象,只用来被继承:
public abstract class Animal {
String name;
public abstract void sound(); // 抽象方法
public void eat() {
System.out.println(name + "在吃东西");
}
}
子类必须实现抽象方法:
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("喵喵");
}
}
final 防止被继承(反例)public final class Utils {
// 不能被继承
}
超类构造方法不会自动继承,需要用 super():
public class Animal {
String name;
public Animal(String name) {
this.name = name;
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name); // 调用超类构造方法
}
}
public class A {
// 默认继承 Object
}
class 定义extends 继承abstract 定义抽象超类protected 让子类访问成员super() 调用如果你是想问 “如何在泛型或接口中定义超类约束”(如 T extends SuperClass),也可以告诉我。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。