java - 如果我将实例变量设置为私有,是否可以避免隐私泄露的风险?
问题描述
我正在处理 Java 作业。我的教授写道:警告:一定要设置类的属性以避免任何隐私泄露的风险。我对此感到困惑。我对隐私泄露的理解总是使用复制构造函数,但是实例变量如何泄露隐私呢?这就是我们总是将实例变量设置为私有的原因吗?
解决方案
如果这是您的主要代码,那么答案是肯定的,这就是我们将除全局变量之外的任何变量设置为私有的原因。
class Demo {
private String Var = "100";
void Meth(String str) {
System.out.println(str + Var);
}
}
class Main {
public static void main(String[] args) {
Demo demo1 = new Demo();
demo1.Meth("10 x 10 = ");
System.out.println(demo1.Var);//Error. This variable is set to private so it cannot be accessed.
}
}
变量的隐私或控制只能由变量的超类/控制块访问。
推荐阅读
- javascript - vue:如何过滤数组中的数据
- c# - 自定义属性以缓存 C# 中的只读属性值
- typescript - 运行 ts-mocha 时找不到模块“模块名称”
- python - 在python中检查字符串中的前缀字符的代码
- javascript - 无法让 querySelectorAll 与 puppeteer 一起工作(返回未定义)
- python - 当我更改嵌套字典中的值时会调用什么方法?
- c++ - shared_ptr 和 operator new 的问题
- html - 在 css 中指定图像的高度不起作用
- ada - Ada:操作私有类型
- rust - CSV from_writer 适用于 stdout(),但在 from_path 上失败