【发布时间】:2013-09-21 17:12:03
【问题描述】:
我可以举个例子让我/其他人理解接口和类之间的差异
java接口类似于java规范(JMS APIs) Java 类类似于规范的实现(ActiveMQ 等)
【问题讨论】:
我可以举个例子让我/其他人理解接口和类之间的差异
java接口类似于java规范(JMS APIs) Java 类类似于规范的实现(ActiveMQ 等)
【问题讨论】:
理解差异的一种简单方法是认为接口定义一个对象做什么,而一个类定义如何它做什么。
您建议的类比是不完整的,因为 Java 有一个位于接口和类中间的概念,即抽象类:规范可以建模为抽象类或接口。
【讨论】:
Message 指定为接口,但它也可以将其指定为抽象类:此类规范将为公共属性提供实现,例如ID 和priority,省略“有效负载”由实现提供的方法。
类和接口之间的区别在于它们的运行方式。一个类里面有一个主方法。接口就像您可以将方法放入其中的全局文件。例如,你有 Blah 类
public class Blah {
// NOTICE: this is a method that allows you
// to perform actions within the method
public static void main(String args[]) {
// do whatever
}
}
你有一个名为 BlahInterface 的接口
public interface BlahInterface {
public static void main(String args[]);
public void sayBlah();
public int getAmountOfBlahs();
public String getWhatBlahSays();
public int setBlahs(int blahNumber);
}
如您所见,类和接口之间的区别在于,类依赖于接口来实现它可以实现的方法。
您可以看到该类允许 main 方法在其内部运行东西,但是如果您尝试在接口中运行 main 方法,它将无法正常工作。
总结: 接口只是用来初始化类可以使用/运行的方法。
希望这会有所帮助!
【讨论】: