-4

我正在寻找JavaSomeInterface.classSomeClass.classJava 之间的区别。有人可以解释一下吗?

编辑:说SomeClassimplements SomeInterface

4

1 回答 1

0

Java 中的类用于保存数据并提供对该数据的操作。 接口用于实现多态性。它们定义了实现类必须提供的操作,以便它们的公共部分具有相似的行为。您可以将接口视为一种契约。

假设您有一些车辆,并且希望每辆车都知道它有多少个轮子。一辆汽车、一辆摩托车和一些其他车辆,你不知道它有多少个轮子,必须先数一数。所以你可以使用一个接口来强制每辆车提供它所拥有的轮子数量。

interface Vehicle {
    // define the contract
    int getNumberOfWheels();
}

class Car implements Vehicle {
    // respect the contract by prividing an implmentation for the method getNumberOfWheels()
    public int getNumberOfWheels() {
        return 4;
    }
}

class Motorcycle implements Vehicle {
    public int getNumberOfWheels() {
        return 2;
    }
}

class GenericVehicle implements Vehicle {
    public int getNumberOfWheels() {
        return countWheels();
    }

    private int countWheels() {
        int c=0;
        // count...
        return c;
    }
}


// using the classes / diferent types of vehicles
Vehicle v1 = new Car();
Vehicle v2 = new Motorcycle();
Vehicle v3 = new GenericVehicle();

System.out.println("Vehicle 1 has " + v1.getNumberOfWheels() + " wheels.");
System.out.println("Vehicle 2 has " + v2.getNumberOfWheels() + " wheels.");
System.out.println("Vehicle 3 has " + v3.getNumberOfWheels() + " wheels.");

对于您要添加的每种新类型的车辆,Vehicle如果您希望它的行为与其他车辆一样,则必须实现界面。

这不是关于接口的全部内容,但我希望这能帮助你理解它们。

于 2013-02-06T11:18:14.797 回答