我正在 Her 上阅读有关“类(class)契约(Contract)”的内容每个人似乎都表明它仅适用于 public
属性和方法。是这样吗?
我认为类的契约不仅限于公共(public)接口(interface),还包括私有(private)方法和字段。因此,大多数时候,方法的行为方式(它的访问修饰符、返回类型和抛出的异常)是有约定的。
例如下面的方法:
private String returnString()
仍然遵循将返回 String
的约定。我错了吗?
最佳答案
私有(private)
方法不会公开,因此不能成为任何公共(public)
合约的一部分。
遵守契约(例如通过接口(interface))的类保证它将向下游消费者公开某些公共(public)
方法,有时还会公开字段。如何履行该契约(Contract)是一个实现细节,通常通过私有(private)方法执行。
关于java - `contract of a class`仅由公共(public)接口(interface)定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56938015/