java 能否锁定变量的值,使之无论如何都不能被其他程序篡改,等到需要改变的时候,就将之解锁?

Python017

java 能否锁定变量的值,使之无论如何都不能被其他程序篡改,等到需要改变的时候,就将之解锁?,第1张

如果用static final修饰的变量就是一个常量了,是不能被修改的

我觉得可以这样

public class People2{

private int age

private boolean flag=false//定义一个标志,用来判断age能否被修改,默认是false,即不能

public People2(){

}

public People2(int age){

this.age=age

}

public boolean isFlag() {

return flag

}

public void setFlag(boolean flag) {

this.flag = flag

}

public int getAge() {

return age

}

public void setAge(int age) {

if(flag==true){

this.age = age

}else{

System.out.println("age不能被修改")

}

}

public static void main(String[] args) {

People2 p1 =new People2(10)

System.out.println("p1的初始年龄:"+p1.age)

p1.setAge(20)

System.out.println("p1的修改年龄"+p1.age)

People2 p2 =new People2(10)

System.out.println("p2的初始年龄:"+p2.age)

p2.setFlag(true)

p2.setAge(80)

System.out.println("p2的修改年龄"+p2.age)

}

}

比较简单的方式就是用Map,代码

Map<Integer,Person> map = new Map<Integer,Person>()

map.put(1,person1)

map.put(2,person2)

.....

//获取的时候可以

map.get(1)//结果就是person1了