在 Java 中,**超类(Superclass,也叫父类或基类)**就是通过 class 定义,并被其他类使用 extends 继承的类。下面从基础到常见用法给你讲清楚。
// 超类
public class Animal {
String name;
public void eat() {
System.out.println(name + " is eating");
}
}
// 子类
public class Dog extends Animal {
public void bark() {
System.out.println("Woof!");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.name = "Tom";
dog.eat(); // 继承自 Animal
dog.bark(); // Dog 自己的方法
}
}
super 调用超类public class Animal {
String name;
public Animal(String name) {
this.name = name;
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name); // 必须第一行
}
}
@Override
public void eat() {
super.eat(); // 调用父类方法
System.out.println("Dog is eating too");
}
abstract(抽象类)不能实例化,只能被继承
public abstract class Animal {
public abstract void sound();
}
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("Meow");
}
}
final(不能被继承)public final class Utils {
}
❌
class Sub extends Utils会报错
protected(子类可访问)public class Animal {
protected int age;
}
在 Java 中:
public class Person { }
等价于:
public class Person extends Object { }
常用方法:
toString()equals()hashCode()✅ 多个类有共同属性和行为
✅ 想统一管理和扩展逻辑
✅ 使用多态(父类引用指向子类对象)
Animal a = new Dog();
a.eat();
如果你愿意,我也可以:
你现在是初学 Java,还是在做某个具体功能?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。