📅  最后修改于: 2023-12-03 15:16:34.203000             🧑  作者: Mango
在Java中,继承是一种面向对象编程的重要概念。继承提供了一种将一个类的属性和方法传递给另一个类的方式,即子类继承父类的属性和方法。
继承有以下优势:
代码重用:在继承中,子类可以使用父类的方法和属性,避免了代码的重复编写,提高了代码的可维护性和可读性。
可扩展性:子类可以通过继承来扩展父类的功能,因为子类可以增加自己的属性和方法。
Java中的继承使用关键字extends
来实现,子类的声明如下所示:
class ChildClass extends ParentClass {
// 子类的属性和方法
}
其中ChildClass
表示子类,ParentClass
表示父类。子类可以获得父类中的所有非私有属性和方法。
在继承中,子类可以通过方法重写来改变父类方法的实现。如果子类中的方法与父类中的方法具有相同的名称、参数列表和返回类型,则子类中的方法会覆盖父类中的方法。
子类可以使用super
关键字调用父类的构造器或方法,或者使用super
关键字访问父类成员变量。示例代码如下:
class ParentClass {
int num = 10;
void display() {
System.out.println("Parent class method.");
}
}
class ChildClass extends ParentClass {
int num = 20;
void display() {
super.display(); // 调用父类的display()方法
System.out.println("Child class method.");
}
void printNumber() {
System.out.println("Child class number: " + num); // 子类num
System.out.println("Parent class number: " + super.num); // 父类num
}
}
public class Main {
public static void main(String[] args) {
ChildClass obj = new ChildClass();
obj.display();
obj.printNumber();
}
}
输出结果为:
Parent class method.
Child class method.
Child class number: 20
Parent class number: 10
在Java中,继承形成了父类与子类之间的一种关系,子类是父类的一个具体实现。继承还可以形成类层次结构,例如一个子类可以有自己的子类,这样就构成了类的层次关系。
由于Java不支持多继承,即一个子类只能有一个父类,但是子类可以通过接口实现多个接口,具有类似多重继承的效果。多重继承可以增加代码的复杂性和难度,也可能导致代码的不稳定,因此在Java中不被支持。
继承是Java面向对象编程中的重要概念,它可以提高代码的重用和可扩展性。在继承中,子类可以使用父类的方法和属性,并且可以通过方法重写改变父类方法的实现。在继承中,子类会形成一种父子关系,多重继承不被Java所支持。