Java的面向对象编程中有一个非常重要的概念就是继承。在继承关系中,父类是一个被继承的类,而子类则继承了父类的特性,并且可以在此基础上添加自己的功能。在子类中可以通过super关键字来调用父类的方法或属性。下面让我们来看一下一个简单的例子:
public class Animal { protected String name; protected int age; public Animal(String name, int age) { this.name = name; this.age = age; } public void eat() { System.out.println(name + " is eating."); } }
以上是一个简单的动物类,其中有两个属性:名称和年龄,还有一个方法eat用来告诉我们当前动物正在进食。接下来,我们来创建一个叫做Dog的子类,并继承Animal类:
public class Dog extends Animal { private String breed; public Dog(String name, int age, String breed) { super(name, age); this.breed = breed; } public void bark() { System.out.println(name + " is barking."); } }
以上是一个简单的Dog子类,它继承了Animal类,并且添加了自己的犬种属性和方法bark用来告诉我们当前狗正在叫。在Dog构造函数中,我们通过super关键字调用了父类Animal的构造函数,并传入相应的参数。这样我们就可以在Dog中访问到Animal中的属性和方法了。接下来我们来运行一下程序:
public class Main { public static void main(String[] args) { Dog dog = new Dog("Tommy", 2, "Labrador"); dog.eat(); dog.bark(); } }
以上是我们的主函数,我们先创建一个Dog对象,并传入相应的参数,然后通过对象dog来调用父类Animal中的eat方法和子类Dog中的bark方法。这样我们就得到了以下输出:
Tommy is eating. Tommy is barking.
可以看到,我们成功地输出了一条狗正在进食和叫的信息,并体现了Java中的继承机制。