为了账号安全,请及时绑定邮箱和手机立即绑定

java中有关get方法的使用(具体程序分析)

java中有关get方法的使用(具体程序分析)

萧十郎 2019-04-11 14:15:28
最近在学习java,用的徐彩霞的java基础教程。 有个例子不太明白。 /* /注释部分的get部分有和没有结果一样,想知道为什么要用get? 又必须要用的情况吗? 刚学,懂得比较少,谢谢了~ class Person { private String name; private int age; private void talk() { System.out.print("I'm "+name+" and " + age+" years old"); } public void say() { talk(); } public void setName(String str) { name=str; } public void setAge(int a) { if(a>0) age=a; } /*public String getName() { return name; } public int getAge() { return age; }/ } public class TestPersonDemo5 {public static void main(String[] args)  {     // TODO Auto-generated method stub   Person p=new Person();   p.setName("John");   p.setAge(30);   p.say(); } }
查看完整描述

6 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

set和get字面理解是设置和取得,在Java中也基本就是这种意思,你可以在一个类中进行设置变量值,然后又设置get方法可以让该变量值在别处让其它的类去得到。也就是get就是给别处一个得到的方法,所以你说的删除一些不影响因为这里不是别处。如果是其它的类去取得该值没有get方法就不行了,我的理解希望帮到你。


查看完整回答
反对 回复 2019-05-07
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

面向对象编程告诉我们在一个类中,通过set方法设置属性的值,通过get方法获取属性的值,而不要将属性直接暴露。你可以在get方法中进行各种处理,然后得到结果。


查看完整回答
反对 回复 2019-05-07
?
达令说

TA贡献1821条经验 获得超6个赞

这个例子只是展示java中一个类的基本函数成员,虽然在这个例子的运行中get函数没有用,但是它代表了一种获取与封装类成员的基本方法。作为一种隐蔽函数成员与处理方式的接口,set与get系列函数是类的基本成员函数。


查看完整回答
反对 回复 2019-05-07
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

这个问题问的很好;对于java这类oop的语言,为了封装内部状态;尽量把成员对象设成private。这样外面的程序就不能直接访问这些成员变量了。但是有的时候,外面的对象要set或者get内部变量的值,所以就产生了accessor(get方法)和modifier(set方法)。在这个例子里。貌似accessor方法没有必要,但是生成person对象的目的是为了将来能访问它,如果缺少accessor方法,将来如何访问这些成员变量呢。
再加一句,对于这个例子,设计是有问题的,首先对人的设计,普通只设计生日(生日不变的),这样生日就是final类型了。至于姓名。取决于你的姓名是否改变。理论上来说即使姓名会改变,我们最好把姓名设计成final的。这样就不需要setName和setAge方法了。而是在构造函数里面设置姓名和生日。这里追加这么一句的原因是变量的常量化很重要,尤其对多线程编程环境。

查看完整回答
反对 回复 2019-05-07
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

java面向对象,有一种叫做“私有(privat)成员变量”的结构,可以有效防止外部类的非法或非故意的调用,比如,
public class 人{
public int 年龄;
}

public class 死神{
Vector<生物> set = new Vector<生物>();
public void 杀了活的太长的生物(){
.........
}
}

大致是这个意思。。。。。


查看完整回答
反对 回复 2019-05-07
  • 6 回答
  • 0 关注
  • 1542 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号