Java me 为什么Java公共API有私有方法?

Java me 为什么Java公共API有私有方法?,java-me,Java Me,前几天我在看java.security.BasicPermission API。为什么它有一个私有方法 私有void readObject(objectInputStreams) 调用readObject以从流恢复BasicPermission的状态 对不起,我问的不清楚。这个班只是一个例子。Java库中有很多。它们都是读写对象方法。当他们设计这个API时,为什么要添加一个应用程序不能使用的私有方法 该方法可能由其他公共方法之一在内部调用,API用户不应关心该方法。readObject是Java

前几天我在看java.security.BasicPermission API。为什么它有一个私有方法

私有void readObject(objectInputStreams) 调用readObject以从流恢复BasicPermission的状态


对不起,我问的不清楚。这个班只是一个例子。Java库中有很多。它们都是读写对象方法。当他们设计这个API时,为什么要添加一个应用程序不能使用的私有方法

该方法可能由其他公共方法之一在内部调用,API用户不应关心该方法。

readObject
是Java序列化框架在反序列化时使用的一种方法,用于支持自定义操作。与大多数私有方法不同,它通常不会在类本身内调用,而是由框架/JVM调用,这显然在某种程度上违反了正常的预期


有关详细信息,请参阅。

私有方法是API无法访问的方法,但在内部用于执行某些操作

例如,以现实世界中的微波炉为例。它将有外部用户输入,如bake()、heat()等。。。但是像cookFor(时间分钟,温度t)这样的私有内部函数

所以现在微波的实现非常简单

public void bake() {
  cookFor(45, 300);
}

public void heat() {
  cookFor(5, 100);
}

等等。我们有函数的原因是为了编写好的过程程序,而私有/公共描述符用于封装类。

我怀疑在这种情况下它是否由公共方法调用-这是序列化的一种特殊情况。我浏览了BasicPermission.java。这两个私有方法都没有在类中使用。我认为他的问题更多的是关于私有/公共访问器,而不是实际的类本身。@Arindam:你怎么会这样认为?他给出了一个非常具体的例子,不属于“在实现中调用私有方法”的正常情况-我认为如果他只是碰巧选择了不寻常的情况而没有任何意义,这是一个相当大的巧合。请澄清你的问题-正如你从答案中看到的,目前还不清楚您是否熟悉私有方法的概念,但不了解为什么会存在这种方法,或者您是否不了解私有方法的用途。