Java面向对象中定义set和get方法的好处是什么,为什么不直接赋值

Java面向对象中定义set和get方法的好处是什么,为什么不直接赋值

直接赋值的话,需要提供一个包含所有成员变量的值的构造函数完成赋值,而复杂对象的话构造函数参数过多,方法调用就不好弄。
而通过无参构造函数先创建一个对象后,再逐一用 set 方法修改成员变量,就简单多了。一般反射都是通过 set 方式完成成员变量赋值的。

因为私有变量才能通过对象去访问,而不能直接通过类访问。这是java的面向对象的思想。如果你是public类型 那么你可以直接用类.属性就可以访问了。显然和java的面向对象思想有出路

随便修改容易出Bug