gpt4 book ai didi

java - 访问标识符的真实示例 [public, protected, private]

转载 作者:搜寻专家 更新时间:2023-11-01 01:34:45 25 4
gpt4 key购买 nike

我是 OOP 新手。

我知道有三种标识符,它们应该在不同的情况下使用。我还阅读了很多关于随意使用“公共(public)”标识符是否危险的讨论。但我真的不明白为什么这很危险。

假设我有一个 Windows 应用程序或 Web 应用程序。在那些应用程序中,我声明了一些公共(public)方法或变量,这有什么危险?我的意思是,我的应用程序接受用户输入然后产生输出,那么它在哪些方面可能是危险的?由于“公共(public)”标识符,其他人或其他程序如何攻击或利用或以某种方式对应用程序造成一些损害。

谁能描述一个现实生活中的例子?谢谢。

最佳答案

Modifier    | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | ✔ | ✔ | ✔ | ✔
————————————+———————+—————————+——————————+———————
protected | ✔ | ✔ | ✔ | ✘
————————————+———————+—————————+——————————+———————
no modifier | ✔ | ✔ | ✘ | ✘
————————————+———————+—————————+——————————+———————
private | ✔ | ✘ | ✘ | ✘

私有(private):

方法、变量和构造函数

声明为私有(private)的方法、变量和构造函数只能在声明的类本身内访问。

私有(private)访问修饰符是最严格的访问级别。类和接口(interface)不能是私有(private)的。

注意

如果类中存在公共(public) getter 方法,则可以在类外访问声明为私有(private)的变量。在父类(super class)中声明为 protected 变量、方法和构造函数只能由其他包中的子类或 protected 成员类的包中的任何类访问。

protected

protected 访问修饰符不能应用于类和接口(interface)。

方法、字段可以声明为 protected ,但是接口(interface)中的方法和字段不能声明为 protected 。

注意

protected 访问让子类有机会使用辅助方法或变量,同时防止不相关的类尝试使用它。

公开

声明为 public 的类、方法、构造函数、接口(interface)等可以从任何其他类访问。​​

因此,可以从属于 Java Universe 的任何类访问在公共(public)类中声明的字段、方法和 block 。

http://javarevisited.blogspot.com/2012/10/difference-between-private-protected-public-package-access-java.html

关于java - 访问标识符的真实示例 [public, protected, private],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21771185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com