java - `contract of a class`仅由公共(public)接口(interface)定义吗?

标签 java

我正在 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/

相关文章:

java - 自定义共享对话框

java - 使用 codenameone 制作一个将图像上传到服务器的应用程序

java - 获取 Hibernate 序列 nextVal (Oracle) 时发生异常

java - 如何在字符串映射中保留最大值

java - 按对象属性对对象数组进行排序

java - 在没有 lib 文件夹的单个 .JAR 上创建

Java运行cURL并返回网站页面结果

java - Android Studio-java.io.FileNotFoundException :(系统找不到指定的文件)并且无法提取JNI库

java - IntelliJ IDEA - Artifact (JAR)中的 mysql 丢失

java - Injectind 在运行时通过 CDI 自动实现