在 Java 中,**超类(Superclass,也叫父类、基类)**是指被其他类继承的类。它的作用主要体现在以下几个方面:
超类可以把多个子类共有的属性和方法提取出来,避免重复代码。
class Animal {
String name;
void eat() {
System.out.println(name + "在吃东西");
}
}
class Dog extends Animal {
void bark() {
System.out.println("汪汪");
}
}
✅ Dog 直接拥有 name 和 eat(),不需要重写。
超类可以定义通用行为或规范,子类在此基础上扩展。
class Shape {
double area() {
return 0;
}
}
class Circle extends Shape {
double r;
double area() {
return 3.14 * r * r;
}
}
✅ 所有图形都有 area(),但计算方式不同。
通过超类引用指向子类对象,实现多态。
Animal a = new Dog();
a.eat(); // 调用的是 Dog 继承或重写的方法
✅ 提高代码的扩展性和可维护性。
超类可以是 abstract 类,只定义方法签名,不实现细节。
abstract class Animal {
abstract void sound();
}
✅ 强制子类实现特定行为。
新增功能时,只需新增子类,不改超类代码(符合开闭原则)。
class Cat extends Animal {
void sound() {
System.out.println("喵");
}
}
通过 protected 成员,超类可以控制子类可见性,保持封装性。
Java 超类的作用可以概括为:
提取共性、减少重复、支持多态、规范行为、方便扩展
如果你愿意,我也可以结合 接口 vs 超类、实际项目例子 或 面试题 给你讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。