问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在java中,set和get方法什么时候用?

发布网友 发布时间:2022-04-25 16:10

我来回答

1个回答

热心网友 时间:2022-04-11 04:44

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。在实际项目中,对一些类的设计时,严谨的设计是要考虑哪些类是只读或是只写的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 在java中使用“set/get”的方法是什么? get()在java中,是什么意思?什么用途? java中“get”和“set”方法怎么写? JAVA get方法 java的get和set方法 JAVA 中get()和get()的用法,和意义? 求好看的二次元同人小说 有哪些好看到爆的二次元动画,却被奇葩名称拖了后腿? 什么二次元的动漫好看 求好看的二次元小说。 你见过最漂亮的二次元人物是哪个? 求推荐几本好看的二次元小说呗 好看的二次元小说推荐几个呗? 好看的二次元有哪些 好看的二次元人物有哪些? 有什么好看的二次元小说? 小学毕业怎么给同学留言? 小学离别留言,写给同学的 老师如何给初三学生留言 老师给学生的同学录的留言怎么写 java中get()方法 java中的get 和set方法 在JAVA中何时用get和set方法? JAVA 中的 GET和SET方法是什么意思?为什么要这么使用? Java中get方法的继承问题 java中SET和GET。。。 JAVA中get和set方法 java中set和get用法? java中get和set方法直接使用吗 java中Hashmap的get方法 换新手机了,宾果消消乐的数据怎么办? 交通银行信用卡逾期1-2天还款会有利息和滞纳金吗? 交通银行还款可以延迟几天? 交通信用卡最多可以逾期几天?谢谢 交通银行信用卡宽限期 如何退出宾果消消游戏? 用电脑在上钉钉开会怎样关掉扬声器只听到老师的声音? 电脑钉钉的问题? 华为手机开不开机通讯录怎么导出来? 华为手机上的电话号码如何转为电子表格