我是java的新手,我做了一些有关私有和公共访问修饰符的阅读。我想在这个主题中消除任何混乱,因为我觉得我对它没有最好的掌握。
访问变量中的修饰符
如果我错了,请纠正我,默认情况下变量是公开的。如果访问修饰符设置为public或者根本没有设置,则来自同一项目的其他类可以访问整数和/或修改它。如果它是私有的,那么它对外部是不可见的,并且不能被创建它之外的类访问。
访问类中的修饰符
在类中访问修饰符,我似乎并不完全理解。据我所知,如果我从不在同一个类中的方法调用私有方法,那么它将无法工作。如果是公开的话呢?
我有什么遗漏或不正确的理解吗?
我很感谢这方面的帮助。
答案 0 :(得分:3)
如果我错了,请纠正我,默认情况下变量是公开的。
你错了。假设您指的是字段,默认情况下,它们具有“包”访问权限,无法明确表达。 本地变量没有访问控制的概念 - 它们只存在于方法的上下文中,因此不能从其他任何地方引用。
如果访问修饰符设置为public或者根本没有设置,则来自同一项目的其他类可以访问整数和/或修改它。
如果设置为公开,那么任何代码都可以访问它。
如果是默认(包)访问,则同一包中的任何代码都可以访问它。
在类中访问修饰符,我似乎并不完全理解。据我所知,如果我从不在同一个类中的方法调用私有方法,那么它将无法工作。如果是公开的话呢?
这是非常正确的,是的。
我建议您阅读Java tutorial on all of this,并参阅language spec section 6.6了解详情。
答案 1 :(得分:3)
Here's这是一个关于这个主题的好文档。
有四种访问级别:
对于类成员变量和方法,默认访问权限是包私有。
答案 2 :(得分:1)
您可以在Oracles网站上找到有关4个修饰符here的信息。
如果你没有指定修饰符,则说它是默认的,这意味着只有同一个包中的任何代码都可以访问它。
如果设置为公开,则任何包中的任何代码都可以访问它。
答案 3 :(得分:1)
实际上在Java中有四种不同的访问修饰符,私有,公共,受保护和特定于包。 “如果我错了,请纠正我,默认情况下变量是公开的” - 这里你错了一个变量,如果没有声明不同,则有与包相关的访问权限。如果将其设置为public,则即使在原始包之外,也可以由其他类修改。这个网站 - http://javapapers.com/core-java/access-modifiers-in-java-explain/ - 可以为您提供有用的提示。实际上,一旦你在封装等OO概念上阅读了更多内容,就会非常容易。然后,您将了解访问修饰符的用途(以确保数据整数)。
答案 4 :(得分:0)
访问修饰符:
公开 - {可以访问项目中的任何位置}
私人 - {只能在班级内访问}
受保护 - {可以在包和子类中访问}
默认 - {可以在包中访问}
非访问修饰符:
静态 - {用于创建类变量和方法}
最终 - {用于创建最终的类,变量和方法}
摘要 - {用于创建抽象方法和类}
已同步 - {for threads}
要了解详情,请按照此link
进行操作答案 5 :(得分:0)
Java提供了许多访问修饰符来设置类,变量,方法和构造函数的访问级别。四个访问级别是:
默认值:对包可见。不需要修饰符。
私人:仅对班级可见。
公众:对世界可见。所有课程和包。
受保护:对包和所有子类可见。
如果程序员没有指定访问修饰符,则使用默认访问修饰符。
答案 6 :(得分:0)
答案 7 :(得分:0)
私有和公共java访问说明符。 in java ,私有访问说明符,它指定访问权限。
私人就像自己的家庭财产,只能使用哪个家庭 belongs.that意味着在类中,方法和变量可以使用
公众就像政府财产,意味着每个人都可以访问 不需要令牌的属性