java - 澄清java中private和public的含义和功能

标签 java private public

我见过this问题,我理解理论上 public 之间的区别和private方法。我的理解如下:

public means that it's "visible" / "accessible" everywhere. As in every class can see it. private is only "visible" / "accessible" in its declared class.

我的第一个问题是:

“可见”到底是什么意思?我不太确定如何解释“这个类无法“看到”这个方法”的含义。

第二个问题是:

这些的功能/用途是什么?the的第二个答案中对于这个问题,他解释说,如果我们“封装”我们的代码,那么我们将使“我们自己以后更容易更改代码,并且不会破坏任何其他人的代码”。这到底是什么意思?

例子会有很大帮助

最佳答案

关于第一个问题:“可见”到底意味着什么?

在谈论类时,可见性转化为可访问性,每当一个类被声明为公共(public)时,该类就可以被项目中的所有其他类访问,并且所有类都可以通过继承该类或实例化一个类来访问它们。类的新对象。类似的概念也超越了公共(public)类成员。然而,重要的一点是,如果包含的类未标记为私有(private),则公共(public)类成员(例如方法和变量)仅对其他类可见/可访问。

另一方面,当类被标记为私有(private)时,它对代码库中的所有类都是隐藏的,您可以认为代码的其余部分甚至不知道该类的存在。

私有(private)类的成员只能在类内部访问,并且对外界隐藏。 即使私有(private)成员的类被标记为公共(public),外部世界仍然无法访问私有(private)成员。

现在,第二个问题:这些的功能/用途是什么?

当您想要限制类的哪些部分可以从外部访问以及哪些部分不应该访问时,访问修饰符特别有用。

例如,一般来说,将类变量设置为私有(private),然后公开允许您获取这些变量的函数是一个好主意,使用这种方法获得的主要好处是,在未来的任何时间点,您可以更改这些变量的计算方式,并且更改将传播到所有类,而无需更改它们,如果类直接访问变量,则很难在不影响其他类的情况下进行更改。这只是一个示例,展示了即使对于最简单的事情,访问修饰符也有多么有用。

希望这能给您一个简短的想法。

关于java - 澄清java中private和public的含义和功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60117322/

相关文章:

java - 我的 JUnit 测试失败

java - Java 中的 public、protected、package-private 和 private 有什么区别?

java - 类图中的public、protection、private的作用是什么?有什么例子吗?

android - 在 Android 中导出 Activity 是否允许其他应用程序也从该 Activity 调用任何公共(public)方法?

java - JVM 和私有(private)方法

java - 如何删除日历中的特定事件

java - 无法使用 twilio API

java - java的makefile

python - epydoc 隐藏了一些类函数?

android - 为什么 fragment 类应该公开?