Java 子类和父类接口

在Java编程中,子类和父类接口是面向对象编程的重要概念。子类继承了父类的属性和方法,并可以通过实现父类接口来获得更多的功能。本文将介绍Java中子类和父类接口的概念,并通过代码示例来展示其用法。

1. 子类继承父类的属性和方法

在Java中,一个类可以通过extends关键字来继承另一个类。子类会继承父类的属性和方法,并可以在自己的类中使用它们。下面是一个简单的例子:

class Animal {
    protected String name;

    public Animal(String name) {
        this.name = name;
    }

    public void sound() {
        System.out.println("Animal makes sound");
    }
}

class Cat extends Animal {
    public Cat(String name) {
        super(name);
    }

    public void purr() {
        System.out.println("Cat purrs");
    }
}

在上面的例子中,Animal类是一个父类,Cat类是一个子类。子类Cat继承了父类Animalname属性和sound()方法,并且还增加了自己的方法purr()。现在我们可以创建一个Cat对象并调用其父类继承来的方法:

Cat cat = new Cat("Tom");
System.out.println(cat.name);  // 输出:Tom
cat.sound();  // 输出:Animal makes sound

通过继承,子类可以重复使用父类的代码,避免代码的重复编写。同时,子类还可以根据自己的需要添加新的属性和方法。

2. 子类实现父类接口

除了继承父类的属性和方法,子类还可以通过实现父类接口来获得新的功能。在Java中,接口定义了一组方法的签名,子类实现接口的方法即可获得这些功能。下面是一个例子:

interface Vehicle {
    void start();
    void stop();
}

class Car implements Vehicle {
    public void start() {
        System.out.println("Car starts");
    }

    public void stop() {
        System.out.println("Car stops");
    }
}

在上面的例子中,Vehicle是一个接口,定义了start()stop()两个方法。Car类实现了Vehicle接口,并实现了接口中的方法。现在我们可以创建一个Car对象并调用接口中定义的方法:

Car car = new Car();
car.start();  // 输出:Car starts
car.stop();  // 输出:Car stops

通过实现接口,子类可以获得接口中定义的方法,并实现自己的功能。接口可以帮助我们实现多态和代码的解耦。

类图

下面是上面例子中的类图,使用mermaid语法绘制:

classDiagram
    class Animal {
        - String name
        + Animal(String name)
        + void sound()
    }

    class Cat {
        + Cat(String name)
        + void purr()
    }

    Animal <|-- Cat

    interface Vehicle {
        + void start()
        + void stop()
    }

    class Car {
        + void start()
        + void stop()
    }

    Vehicle <|-- Car

总结

在Java中,子类可以通过继承父类的属性和方法实现代码的重用,并且还可以通过实现父类接口来获得新的功能。子类继承和实现的特性使得Java编程更加灵活和可扩展。在实际的开发中,我们可以根据需求来设计合适的类继承和接口实现关系,从而实现代码的复用和功能的扩展。

希望本文对你理解Java子类和父类接口有所帮助。如果你对这个主题还有任何疑问,请随时提问。