A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 青程 中级黑马   /  2014-7-4 10:06  /  1447 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我知道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做什么?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

3 个回复

倒序浏览
set是设置的以此,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的。而且,在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如setage()和getage(),表示设置年龄和获取年龄。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
(纯属个人意见,如果说的不对,请严厉指出)getX当然是方便取值用的了,你创建了一个实体类光输入不输出了??如果你类里面成员变量有几十个的话,而你需要调用这些参数怎么办???这其实我觉得就是一种方便的规范,格式都一样,用eclipse可以自动生成所有参数的getter setter方法,而且以后用struts2框架会很方便,这样写好以后,在页面上用struts标签通过name属性直接与后台交互数据,非常方便。当然如果对于一个简单的程序来说,只要能实现,怎么写都行,但是以后可是项目,是N个java文件组成的,要效率高、耦合性低。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
getX是供别的类调用X的值时调用的,你已经在本类中println{}用了X(本类中使用不必用到getX),因此在这段代码中getX就显得无用了。。。。但你如果要在主函数中调用X的值,那就要用到getX了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马