在java中使用“setget”的方法是什么?

Python012

在java中使用“setget”的方法是什么?,第1张

在java中,get和set方法分别是用来获取和设置对象中数据成员值。

列举一些用法:

1、当数据成员是 private 时,只能通过get 和 set方法来设置,因为这些数据成员不能被直接访问。

2、当需要对输入的数据进行变换时使用。如能通过输入任意整数来设置奇偶标志。这时必须对输入数据进行运算后,才能赋值。

Java面向对象特性之一就是封装,一个类的字段应该只能被这个类本身所识别,所以要用private修饰字段,而用了private修饰的字段,就需要

提供set()、get()方法外部才能访问,如果使用public修饰字段,java中包的访问权限就没有意义了,封装特性也太不体现了。

get()和set()有一个好处,当输入.get(.set)时就能显示所有的属性。把所有设置都归纳起来,对于外部的使用都方便而已。

1、灵活性

比如我们有一个Person类,我们给它设置一个属性name,但是我们希望在取名字的时候,不是只显示名字,而是把名字按我们的要求输出,比如”我的名字叫XX”,代码如下:

public class Person {  

    private String name  

  

    public String getName() {  

        return "我的名字叫" + name  

    }  

  

    public void setName(String name) {  

        this.name = name  

    }  

}

如上代码,以后我们只要定义一个person对象,并给他setName(xx),再getName的时候,就会显示我的名字叫XX。

2、安全性。

比如我们的操作系统在新建用户或在共享文件的时候,经常会提示对针对某个用户的权限是什么,是只读还是只写还是可读写,这里的读写就好比get/set。

对于类来说,如果不使用set/get方法,直接用public定义某个属性,那么这个属性是可读可写的,如果你希望一个类的某个属性是只能读取,不能写入的时候,上面用public定义某个属性就不能满足了,但是我们可以使用private定义属性,再定义一个get方法,但是不定义set方法来实现。反之,只定义set,不定义get则表示该属性是只写不能读的。如下列代码:

public class Circle {  

    private double radius  

      

    private double pai = 3.14  

  

    public double getPai() {  

        return pai  

    }  

  

    public void setRadius(double radius) {  

        this.radius = radius  

    }  

      

    /** 

     * 计算周长 

     */  

    public double getC() {  

        return 2*pai*radius  

    }  

}

我们定义了一个圆类,定义了属性半径和pai,半径我只提供写的方法,但是不提供读,而pai只提供读,但不能写,并提供了一个计算周长的方法getC。在实际项目中,对一些类的设计时,严谨的设计是要考虑哪些类是只读或是只写的。