get 和set是怎么保证安全性的?老师讲的时候两句话就带过了菜鸟始终不知道它是怎么保证变量的安全的,请求大侠举例一个帮助理解。

解决方案 »

  1.   

    class A{   private int i = 0;   public int setI(i){
          i ++;
          return i;
       }
    }
      

  2.   

    将变量声明为private,通过get set方法访问,这样你可以在get set方法中对变量进行控制。public class Example{
        private int count;    public int getCount(){
            return this.count; 
        }    public void setCount(int count){
            if (count != 0 ){
                this.count = count;
            }
        }
    }
      

  3.   

    属性设置成私有类型  通过set设置属性的值  get获得属性的值 不直接访问属性
      

  4.   

    set/get 只能保证对象的封装,并不能保证安全性
      

  5.   

    那如果直接把 int count 设成pubilc的话  有什么区别么?;public int count;
      

  6.   

    如果是public,别的类可以直接赋值,这样就可能得到预期外的结果。
    比如不希望count为0,若count是public,你无法干预对count的赋值。
    而如果count是private,你可以在set中处理将count赋为0的情况。    Example example = new Example();
        example.count = 0 ;
      

  7.   

    把属性设成private,然后用get  set来读写这个属性,这样别的类就不能直接访问这个属性,只能通过方法来访问,感觉也没什么安全性所言,你也可以写别的方法来访问,但是get set基本上以是一种规范
      

  8.   

    属性设置成私有类型  通过set设置属性的值  get获得属性的值 不直接访问属性
      

  9.   

    楼主需要知道public和private的区别.到处都有....
      

  10.   

    私有的当然是好一点,GET和SET方法是一般比较常用的,免得申明成为PUBLIC时的变量随意被外界调用更改,程序会出错的,