在java方法中省略public修饰符

时间:2015-09-08 00:45:03

标签: java class methods subroutine

嘿伙计们,我正在学习Java,而且有些事情困扰着我,而教科书并没有解释它。

我知道您使用修饰符来声明类和所有内部的方法。但我突然到了一个宣称为

的班级
static void(){
}

为什么没有公共或私有修饰符,它仍然有效?我可以避免在其他地方使用公共修饰符或者它是如何工作的?我理解静态意味着类的成员,并且它没有返回值。然而,为什么不公开或私人。

谢谢

1 个答案:

答案 0 :(得分:3)

为了便于说明,术语“功能”和“方法”可互换使用。它们之间存在细微差别,有关详细信息,请咨询Google。

Java中未明确指定修饰符的方法默认为 package-private ,因此该方法对于同一中的所有类都可见声明方法的地方。

公共函数可以被所有可以访问类的类(即整个项目)调用,私有方法只能在编写方法的类中调用还有 protected 修饰符,它指定只能由类访问这些函数,它的所有子类都在同一个包中。

“为什么这很重要?”,你可能会问。好问题!

你应该使用修饰符来隐藏其他可能ab(使用)它们的类的方法/属性,或者在一个坏的情况下可能会导致意外的行为(不一定是技术上的,但在语义上......某些方法只需要更多的隐私就像我们一样)。所以一个好的起点是 private ,这意味着只有声明它的类才能调用它。通常情况下,您需要让其他类访问方法,这就是包 - 私有受保护公共修饰符的原因存在。

数据封装是编程中的一个重要范例,这些修饰符可以帮助您实现这一目标。