📅  最后修改于: 2023-12-03 15:01:30.303000             🧑  作者: Mango
在Java中,继承是实现面向对象编程的重要概念之一。它允许我们创建一个新类,并可以从现有类继承属性和方法。
继承是一种机制,它允许一个Java类(称为子类或派生类)使用另一个类(称为父类或基类)的属性和方法。子类可以继承父类的公共和受保护的属性和方法,而不必重新定义它们。子类可以添加新的属性和方法,也可以重写父类的方法。
在Java中,使用关键字 extends
来创建一个新类并继承另一个类。例如,以下代码展示了如何创建一个名为 Dog
的类,继承自 Animal
类:
public class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking");
}
}
在上面的代码中,我们定义了 Animal
类,它有一个 eat()
方法。然后,我们定义了 Dog
类,使用关键字 extends
来继承 Animal
类,并添加了一个名为 bark()
的新方法。
现在,我们可以创建一个 Dog
对象,它可以调用 eat()
和 bark()
方法:
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.eat();
myDog.bark();
}
输出结果为:
Animal is eating
Dog is barking
Java继承分为以下4种类型:
在子类中,如果要引用父类的属性或方法,可以使用 super
关键字。以下是一些示例:
public class Dog extends Animal {
public Dog() {
super();
}
}
在上面的代码中,我们在 Dog
类的构造函数中使用了 super()
方法来调用父类的构造函数。
public class Animal {
protected String name = "Animal";
public void eat() {
System.out.println("Animal is eating");
}
}
public class Dog extends Animal {
public void printName() {
System.out.println(super.name);
}
}
在上面的代码中,我们在 Dog
类中使用了 super.name
来引用父类的 name
属性。
public class Animal {
protected String name = "Animal";
public void eat() {
System.out.println("Animal is eating");
}
}
public class Dog extends Animal {
public void eat() {
super.eat();
System.out.println("Dog is eating");
}
}
在上面的代码中,我们在 Dog
类中使用了 super.eat()
来引用父类的 eat()
方法,并在方法中添加了自己的代码。
继承是Java中实现面向对象编程的重要概念之一。它允许我们创建一个新类,并可以从现有类继承属性和方法。通过 extends
关键字可以创建一个新类并继承另一个类。可以使用 super
关键字引用父类的属性和方法。Java继承分为单继承、多重继承、多层继承和菱形继承。