在 Java 中,创建子类主要通过 extends 关键字来实现。下面从基础到常见注意点给你讲清楚。
public class Animal {
public void eat() {
System.out.println("动物在吃东西");
}
}
extends 创建子类public class Dog extends Animal {
public void bark() {
System.out.println("狗在叫");
}
}
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 继承自父类
dog.bark(); // 子类自己的方法
}
}
子类不会继承构造方法,但会自动调用父类构造方法。
public class Animal {
public Animal() {
System.out.println("Animal 构造方法");
}
}
public class Dog extends Animal {
public Dog() {
// 默认隐含 super();
System.out.println("Dog 构造方法");
}
}
如果父类没有无参构造方法,必须显式调用 super(...):
public class Animal {
public Animal(String name) {
System.out.println(name);
}
}
public class Dog extends Animal {
public Dog() {
super("狗");
}
}
子类可以重写父类的方法:
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
✅ 注意:
@OverrideJava 中子类不能继承:
private 成员(但可通过父类方法访问)class Person {
String name;
Person(String name) {
this.name = name;
}
void show() {
System.out.println(name);
}
}
class Student extends Person {
int id;
Student(String name, int id) {
super(name);
this.id = id;
}
void show() {
System.out.println(name + " " + id);
}
}
如果你愿意,我也可以:
你更想了解哪一块?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。