您的位置:首页 > 编程语言 > Java开发

为什么java要用get,set方法替代域的直接调用?

2014-06-21 18:41 489 查看
今天看Think in java,在看到方法调用的别名问题时,想到老师说要用get,set方法替代域的直接调用,想来还是很有好处的。

如下:

class Letter{

char c;

}

public class PassObject{

static void f(Letter letter){

letter.c='z';

}

public static void mian(String[] args){

Letter l = new Letter();

l.c = 'a';

System.out.println("l.c:" + l.c);

f(l);

System.out.println("l.c" + l.c);

}

}

其输出的结果为:

lc:a

lc:z

当在进行复制操作时,可能有很多地方都可以修改函数的值,当发现有错误的时候,你很难确定它是在什么地方别修改的,可读性不太好。

而如果使用get,set方法则复制操作使用set方法,当值发生改变的时候,必然会在set函数中发生,可读性更好,更安全。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: