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

本文探讨了在Java编程中通过使用get和set方法替代直接域调用,以提升代码的可读性和减少错误的可能性。具体案例展示了这种实践在对象复制和属性修改时的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天看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函数中发生,可读性更好,更安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值