当类具有默认访问修饰符时,使用公共方法有什么用?

时间:2010-01-12 14:42:21

标签: java

至于我的观察,当类本身具有默认访问修饰符时,在其中使用公共方法有什么用处。 java编译器可能已停止使用默认类中的公共方法。有什么理由吗?

3 个答案:

答案 0 :(得分:7)

一个原因:如果你的类实现了一些接口(或者使用抽象的公共方法扩展了一些抽象类),那么你可能不会降低这些实现方法的可见性。

答案 1 :(得分:7)

非公共类可能实现公共接口。这意味着包外的类无法创建此类的实例或创建该类的引用,但如果传递实例,它们仍然可以在其上调用方法。

例如,公共工厂类可能会在其包中创建非公共类的实例并将其返回。

答案 2 :(得分:1)

将安全性和可用性完美结合在一起。

如果我想要一个具有默认访问权限的类,我会将它标记为具有默认访问权限(因此没有其他包可以使用它或更好地更改代码)并将方法标记为public,我正在使方法可访问所有其他类,无论它们属于哪个包。

这有什么帮助?一个足够安全的类,可以执行所有复杂的代码实现,并且足够可用于将输出提供给想要使用它的用户。

任何人都可以使用它?那么你编写代码来帮助他们通过创建扩展这个默认类的公共类来使用它。您在任何包中实例化此公共子类(在导入课程后),并且所有方法都标记为公共。

你有一个能够发挥你的魔力的课程,每个人都可以使用,而不会让任何人知道你是如何完成的!