java private 变量用重载赋值,为什么还要set方法?这两者只用其一可以吗?这两者有什么区别?

2025-02-25 19:39:14
推荐回答(4个)
回答1:

这个是java bean的一个规范,一楼说的没错~~ 就是说大家都约定好一个private String xxx这样的变量,然后用set赋值,get来取,这些都是约定。

你的问题,如果单语法角度来说可以只用一个,没有区别。唯一的却别就是"约定"

还有从编程习惯讲,一般声明一个类后,如果要对某个变量进行操作,不建议直接.变量进行赋值操作,一般都用set方法进行赋值~ 这样代码更加规范也更加优美~

回答2:

构造方法虽然可以赋值,比如现在你有100个属性,也就是用private来限制的一些变量,你总不能通过构造函数在每次new的时候都来给每个属性赋值吧,这样有时会乱了,不知哪个值是给哪个属性赋的。
java的一种思想是,内部属性外部没有办法直接访问,那我们怎么来给他们赋值呢?通过set和get来分别对其赋值和取值,这样的话赋值也比较方便,可以很清晰的知道你想给哪个属性赋值。
现在感觉得到区别了吧

回答3:

这都是为了数据封装,这是面向对象程序的重要思想

回答4:

楼上说的非常之正确