我怎样才能使一些方法仅对两个不同的类可见?

时间:2011-11-25 05:07:07

标签: java

我有一些加密和解密方法,我希望能够在两个不同的类中使用它们。

但当然,我不想让它们公开,因为任何人都可以召集它们?如何使这些方法只对两个特定的类可见,而不是其他任何类。

编辑:如果我不能扩展该类,如果这些其他类已经扩展了其他类,该怎么办?

2 个答案:

答案 0 :(得分:2)

您需要将该方法创建为受保护,并在同一个包中创建这两个类。并在不同的包中创建其他类。由于受保护的方法适用于同一包中的子类。并且还在创建的2个类中扩展方法类。

答案 1 :(得分:2)

如果类是同一个包的一部分,那么你可以使它们包为私有(即没有修饰符)。 “Package Private”或“Default Access”方法只能在声明它们的包中使用,并且不会成为该类API的一部分。通过在声明上放置no修饰符来声明方法包private。

Modifier    | Class | Package | Subclass | World

public      |  Y    |    Y    |    Y     |   Y

protected   |  Y    |    Y    |    Y     |   N

no modifier |  Y    |    Y    |    N     |   N

private     |  Y    |    N    |    N     |   N