【问题标题】:Contract between Interface and Class in JavaJava中接口和类之间的契约
【发布时间】:2023-03-19 05:21:01
【问题描述】:

这在 Java 中究竟意味着什么?

接口定义了实现类的契约

【问题讨论】:

  • 虽然您的问题不是重复的(至少,我找不到完全相同的重复),但这里已经回答了很多次(例如,查看这个精彩的 thread)。为什么你在问之前不使用搜索?也许你有,但这些解释中仍然缺少一些东西?
  • 该术语可能源于法律界,其中合同规定了另一个实体将遵守的规定。
  • 接口定义了实现类必须实现的内容。 ;)
  • @raina77ow 我确实搜索过它(虽然不是严格的)。感谢您的回复。我提出这个是因为我不太明白这个陈述从我的搜索中到底是什么意思。

标签: java class interface contract


【解决方案1】:

这意味着通过实现一个接口,该类同意实现该接口指定的所有功能。

【讨论】:

  • 简单来说,如果一个类没有实现其接口的所有方法,程序就会拒绝编译。
  • 这意味着您可以在需要提供接口指定功能的对象的任何地方使用此类的对象。
【解决方案2】:

在接口中,您只需声明成员(例如方法)。例如

public Interface Product{

protected void getProduct();
protected void getProductId();
}

而在一个类中,您可以实现上述接口并可以定义这些方法...

public class ProductClass implements Product{

protected void getProduct()
{
    System.out.println("Product is: ");
}
protected void getProductId()
{
    System.out.println("Product Id is: ");
}
}

所以你可以看到接口中声明的方法是在类中定义的。基本上,你可以说接口只是提供了蓝图,而类实际上完成了整个工作。

【讨论】:

  • 我认为您必须在答案中交换定义和声明。
猜你喜欢
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多