如何理解java中的继承呢
继承是面向对象编程的核心概念之一,它允许我们创建一个新的类,该类可以继承现有类的属性和方法。在 Java 中,继承通过 extends
关键字实现。
在 Java 中,一个类可以继承另一个类的所有属性和方法,被继承的类称为父类或超类,继承该类的类称为子类或派生类。子类可以重写父类中的方法,或者添加自己的属性和方法,以实现自己的功能。
在子类中,可以使用 super
关键字来调用父类中的方法或属性。通过继承,子类可以继承父类的所有公共属性和方法,并且可以访问父类的受保护成员,但不能访问私有成员。
继承的优点包括:
-
代码重用:继承允许我们重用现有类的代码,减少了编写新代码的工作量。
-
代码扩展:通过继承,我们可以在现有类的基础上添加新的属性和方法,从而扩展现有类的功能。
-
维护性:继承可以使代码更容易维护,因为我们可以在一个地方修改代码,而所有继承自该类的子类也将受到影响。
例如,我们可以创建一个父类 Animal
,该类包含一些属性和方法,例如 name
、eat()
、sleep()
等。然后我们可以创建一个子类 Cat
,该类继承自 Animal
,并且添加一些自己的属性和方法,例如 mew()
、scratch()
等。代码如下:
public class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating");
}
public void sleep() {
System.out.println(name + " is sleeping");
}
}
public class Cat extends Animal {
private int livesLeft;
public Cat(String name) {
super(name);
this.livesLeft = 9;
}
public void mew() {
System.out.println(name + " is mewing");
}
public void scratch() {
System.out.println(name + " is scratching");
}
}
在上面的代码中,我们创建了一个父类 Animal
,它包含了一个 name
属性和两个方法 eat()
和 sleep()
。我们还创建了一个子类 Cat
,它继承了父类 Animal
,并且添加了两个自己的方法 mew()
和 scratch()
。在子类中,我们通过 super()
调用了父类的构造函数来初始化 name
属性。