欢迎访问宙启技术站
智能推送

如何在Java中实现继承:super()、this()、extends关键字

发布时间:2023-06-07 15:36:53

Java是一种面向对象的编程语言,继承是其面向对象特性之一。继承允许一个类从另一个类中继承方法和属性,从而提高代码的可重用性和开发效率。在Java中,实现继承需要使用super()、this()和extends关键字。

1. super()关键字

super()是Java中的一个关键字,表示对父类构造函数的调用。使用super()关键字可以让一个类子类化它的父类,并继承父类的属性和方法。子类中的构造函数使用super()调用父类的构造函数,以便在子类中使用父类的属性和方法。

例子:

public class Animal {
    String name;
    int age;

    Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

public class Dog extends Animal {
    String breed;

    Dog(String name, int age, String breed) {
        super(name, age);
        this.breed = breed;
    }
}

在这个例子中,Dog继承了Animal,并使用super()调用了父类的构造函数。这样在Dog类中就可以使用Animal类的属性和方法。

2. this()关键字

this()是Java中的一个关键字,表示对当前类构造函数的调用。使用this()关键字可以让一个类在构造函数中引用它的另一个构造函数。这样可以使代码更简洁并提高可读性。

例子:

public class Person {
    String name;
    int age;

    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    Person(String name) {
        this(name, 0);
    }
}

在这个例子中,当使用new Person("John")时,会调用第二个构造函数,并将age设置为0。这样在Person类中就可以在多个构造函数之间共用代码。

3. extends关键字

extends是Java中的一个关键字,表示继承。使用extends可以让一个类从另一个类中继承方法和属性。通过使用extends关键字,子类可以从父类中继承它的属性和方法,并且可以在自己的类中添加自己的方法和属性。

例子:

public class Animal {
    String name;
    int age;

    void speak() {
        System.out.println("Animal sounds");
    }
}

public class Dog extends Animal {
    String breed;

    void speak() {
        System.out.println("Dog barks");
    }

    void wagTail() {
        System.out.println("Dog wags tail");
    }
}

在这个例子中,Dog继承了Animal,并且重写了speak()方法。在Dog类中添加了wagTail()方法。Dog类可以使用Animal类的属性和方法,并且还可以自己添加方法和属性。

继承是Java面向对象的重要特性,使用super()、this()和extends关键字可以让代码更加简洁和可读性,同时提高代码复用率和开发效率。