我正在寻找Java中SomeInterface.class
和SomeClass.class
之间的区别。有人可以解释一下吗?
修改:说SomeClass
实施SomeInterface
。
答案 0 :(得分:0)
java中的类用于保存数据并提供对该数据的操作。 Interfaces用于表示Polymorphism。它们定义了实践类提供的操作,以便它们具有相似的行为。 您可以将界面视为一种契约。
假设您有一些车辆,并希望每辆车知道它有多少车轮。 汽车,摩托车和其他一些车辆,你不知道它有多少轮子,必须先计算它们。 因此,您可以使用界面强制每辆车提供它拥有的车轮数量。
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
。
这不是关于Interfaces的任何事情,但我希望这会对你有所帮助。