可以的,Java 中的“超类(父类 / 基类)是可以被继承的”,这是面向对象编程的基本特性之一。
下面分几种常见情况说明:
class Parent {
int x = 10;
}
class Child extends Parent {
void show() {
System.out.println(x); // 可以访问父类成员
}
}
✅ Parent 是超类,Child 继承它。
extends 关键字继承超类Java 中只能单继承(一个类只能直接继承一个超类):
class A {}
class B extends A {} // ✅
// class C extends A, B {} ❌ 不允许
final 类不能被继承 ❌如果超类被 final 修饰,就不能被继承:
final class Parent {}
// class Child extends Parent {} ❌ 编译错误
典型例子:String 类
public final class String
abstract class Parent {
abstract void run();
}
class Child extends Parent {
void run() {
System.out.println("Running");
}
}
✅ 抽象类通常就是用来被继承的。
Object 是所有类的超类 ✅在 Java 中:
class A {} // 默认 extends Object
Object 是所有类的根超类,可以被间接继承(但不能再被“显式继承两次”)。
⚠️ 注意:
构造方法不能被继承,但子类构造方法会默认调用父类构造方法。
class Parent {
Parent() {
System.out.println("Parent");
}
}
class Child extends Parent {
Child() {
// 默认调用 super()
System.out.println("Child");
}
}
| 情况 | 是否能被继承 |
|---|---|
| 普通类 | ✅ 可以 |
| 抽象类 | ✅ 可以 |
final 类 |
❌ 不可以 |
Object |
✅(所有类默认继承) |
| 构造方法 | ❌ 不会被继承 |
如果你愿意,我也可以帮你区分 继承 vs 实现接口,或者讲 super 关键字的使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。