嘿伙计们,我正在学习Java,而且有些事情困扰着我,而教科书并没有解释它。
我知道您使用修饰符来声明类和所有内部的方法。但我突然到了一个宣称为
的班级static void(){
}
为什么没有公共或私有修饰符,它仍然有效?我可以避免在其他地方使用公共修饰符或者它是如何工作的?我理解静态意味着类的成员,并且它没有返回值。然而,为什么不公开或私人。
谢谢
答案 0 :(得分:3)
为了便于说明,术语“功能”和“方法”可互换使用。它们之间存在细微差别,有关详细信息,请咨询Google。
Java中未明确指定修饰符的方法默认为 package-private ,因此该方法对于同一包中的所有类都可见声明方法的地方。
公共函数可以被所有可以访问类的类(即整个项目)调用,私有方法只能在编写方法的类中调用还有 protected 修饰符,它指定只能由类访问这些函数,它的所有子类和都在同一个包中。
“为什么这很重要?”,你可能会问。好问题!
你应该使用修饰符来隐藏其他可能ab(使用)它们的类的方法/属性,或者在一个坏的情况下可能会导致意外的行为(不一定是技术上的,但在语义上......某些方法只需要更多的隐私就像我们一样)。所以一个好的起点是 private ,这意味着只有声明它的类才能调用它。通常情况下,您需要让其他类访问方法,这就是包 - 私有,受保护和公共修饰符的原因存在。
数据封装是编程中的一个重要范例,这些修饰符可以帮助您实现这一目标。