java如何extends
在Java中,extends关键字用于实现类之间的继承关系,允许子类继承父类的属性和方法。以下是关于extends的详细使用方法:
基本语法
子类通过extends继承父类的基本语法如下:

class ParentClass {
// 父类的属性和方法
}
class ChildClass extends ParentClass {
// 子类可以继承父类的非私有属性和方法
// 子类可以添加新的属性和方法
}
继承规则
- 子类可以继承父类的
public和protected成员(属性和方法)。 - 子类不能继承父类的
private成员。 - 子类可以重写(override)父类的方法,但需要使用
@Override注解标识。 - Java不支持多重继承,一个子类只能继承一个父类。
示例代码
class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
class Dog extends Animal {
public Dog(String name) {
super(name); // 调用父类的构造方法
}
@Override
public void eat() {
System.out.println(name + " is eating dog food.");
}
public void bark() {
System.out.println(name + " is barking.");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("Buddy");
dog.eat(); // 调用子类重写的方法
dog.bark(); // 调用子类特有的方法
}
}
继承与构造方法
- 子类的构造方法必须调用父类的构造方法(通过
super()),否则编译器会报错。 - 如果父类没有无参构造方法,子类必须显式调用父类的有参构造方法。
继承与多态
- 父类引用可以指向子类对象,实现多态。
Animal animal = new Dog("Buddy"); animal.eat(); // 实际调用子类的方法
注意事项
- 避免过度使用继承,优先考虑组合而非继承。
- 如果父类是
final类,则不能被继承。 - 子类可以继承父类的静态方法,但不能重写静态方法。






