以下是一个简单的Java代码示例,展示了父类和子类之间的继承关系:
// 定义父类Animal
class Animal {
String name;
int age;
// 父类构造方法
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 父类方法
public void makeSound() {
System.out.println("The animal makes a sound.");
}
}
// 定义子类Dog,继承自Animal
class Dog extends Animal {
String breed;
// 子类构造方法
public Dog(String species, int age, String breed) {
super(species, age); // 调用父类的构造方法
}
// 子类方法
public void bark() {
System.out.println("The dog barks.");
}
// 重写父类方法
@Override
public void makeSound() {
System.out.println("The dog barks loudly.");
}
}
public class Example {
public static void main(String[] args) {
// 创建Animal对象
Animal animal = new Animal("Mammal", 5);
System.out.println("Name: " + animal.name);
System.out.println("Age: " + animal.age);
animal.makeSound();
// 创建Dog对象
Dog dog = new Dog("Mammal", 3);
System.out.println("Name: " + dog.name);
System.out.println("Age: " + dog.age);
dog.makeSound();
dog.bark();
}
}
在以上示例中,Animal类是父类,Dog类是子类,Dog类通过关键字extends继承了Animal类的属性和方法。在子类Dog中,可以通过super关键字调用父类的构造方法和属性。子类Dog还可以根据需要添加自己的属性和方法,例如bark()
方法。同时,子类也可以重写父类的方法,如在示例中的makeSound()
方法,子类Dog重写了父类Animal的makeSound()
方法,使其输出不同的结果。
子类可以根据需要添加自己的属性和方法,从而扩展父类的功能:
// 父类Animal
class Animal {
String species;
public Animal(String species) {
this.name = name;
}
public void makeSound() {
System.out.println("The animal makes a sound.");
}
}
// 子类Dog
class Dog extends Animal {
String breed;
public Dog(String species) {
super(species);
}
public void bark() {
System.out.println("The dog barks.");
}
// 子类自己的方法
public void walk() {
System.out.println("The dog is walk");
}
}
在上面的示例中,子类Dog添加了自己的bark()
,并且还添加了自己的方法walk()
,从而扩展了父类Animal的功能。
总之
Java的继承是一种重要的特性,允许类之间通过继承关系建立起父子类之间的关联,并且子类可以继承父类的属性和方法,并且可以覆盖父类的方法,以实现自己的业务逻辑。同时,子类也可以添加自己的属性和方法,从而扩展父类的功能。