黑马程序员技术交流社区

标题: 关于get的作用 [打印本页]

作者: 青程    时间: 2014-7-4 10:06
标题: 关于get的作用
我知道set但不知道get;
class Aa{
private int x;
public Aa(int _x){x=_x;}
public void setX(int _x){x=_x;}
public int getX(){return x;}
public void print(){System.out.println(x);}

public class a{
public static void main(String[]args){
Aa y= new Aa(1);
y.print();
y.setX(2);//setX是这样调用,那么getX怎么调用?我发现不调用getX就可以不写getX;
y.print();
}
}
主要是getX有什么作用?不调用就可以不写嘛,非要访问private int x;用setX就够了嘛。要getX做什么?
作者: aiww    时间: 2014-7-4 10:27
set是设置的以此,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的。而且,在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如setage()和getage(),表示设置年龄和获取年龄。
作者: 慕杰    时间: 2014-7-4 10:35
(纯属个人意见,如果说的不对,请严厉指出)getX当然是方便取值用的了,你创建了一个实体类光输入不输出了??如果你类里面成员变量有几十个的话,而你需要调用这些参数怎么办???这其实我觉得就是一种方便的规范,格式都一样,用eclipse可以自动生成所有参数的getter setter方法,而且以后用struts2框架会很方便,这样写好以后,在页面上用struts标签通过name属性直接与后台交互数据,非常方便。当然如果对于一个简单的程序来说,只要能实现,怎么写都行,但是以后可是项目,是N个java文件组成的,要效率高、耦合性低。
作者: cheye0207    时间: 2014-7-4 13:41
getX是供别的类调用X的值时调用的,你已经在本类中println{}用了X(本类中使用不必用到getX),因此在这段代码中getX就显得无用了。。。。但你如果要在主函数中调用X的值,那就要用到getX了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2