public class Animal {
void eat() {
System.out.println("This animal eats food.");
}
}
public class Dog extends Animal {
void bark() {
System.out.println("The dog barks.");
}
}
Dog dog = new Dog();
dog.eat(); // 继承自Animal
dog.bark();
-
继承的语法:在Java中,使用
extends
关键字来表示一个类继承自另一个类。 -
访问父类的成员:子类可以访问父类的
public
和protected
成员,但不能直接访问private
成员。如果子类需要访问父类的私有成员,那么应该通过父类提供的公有方法进行访问。 -
构造方法的调用:在创建子类对象时,Java会首先调用父类的构造方法来初始化父类的状态。如果子类没有显式地调用父类的构造方法,那么Java会默认调用父类的无参数构造方法。如果父类没有无参数的构造方法,并且子类没有显式地调用父类的构造方法,那么编译时会报错。
-
方法重写:子类可以重写父类的方法。其中子类方法的访问修饰符不能比父类方法更严格(即子类方法不能是
private
的);方法头(修饰符/返回值类型/方法名/参数列表)不变只能重写方法体中的内容和逻辑;通常用averider注解 -
多态性:继承是实现多态性的基础之一。多态性允许以父类类型引用子类对象,并在运行时动态地确定要执行的方法。这通常通过方法覆盖和对象引用类型来实现。