Java语言中的get set方法有什么用,直接调用字段不是更简单么?有人说验证输入,但是也没有验证的代码写出来啊?
便于加入验证逻辑。也许你说,现在没有验证逻辑。但是如果直接访问字段,以后再加上验证逻辑,那么调用代码就要修改了,不是麻烦么
类的成员变量一般都是定义为私有的即private关键字注释,所以其他对象是不能访问到这些属性信息的。
但是通常对象之间相同协作时就需要获取其他对象的成员属性值,所以需要那些类提供这两个方法,以便其他对象可以操作该对象的成员变量。
很好的封装了代码,便于在开发中传递值。
个人认为应该 是为了和数据库来对应操作。像mybatis和hibernate这些框架,从数据库读写数据都会对应的bean类的get/set方法。当然。
这样写也方便其它层来调用
主要目的还是封装。比如一些变量你不给他写get方法,那不是该类的成员函数就无法使用这个变量了。感觉也增加了灵活性吧(相比只用private,public声明)
一些private属性的字段用get和set,在set里面可以进行值的判断,看传进来的值是否合法。
一个类要把自己的属性封装起来,不能让其他类直接访问。
通过get和set方法的设置可以控制访问权限。不过一般的类都是get和set同时开放,在这种情况下和直接访问属性是一样效果。
再如struts里action的一些属性只在内部使用,只需配置set方法(用于把初始化的值传入)而不要get方法。
做javaweb开发的时候,实体类的属性都要生成get、set方法,通过set赋值,通过get获取值。而且用些属性字段是不希望其他人直接看到,就会被定义为私有属性,这时只能用get,set方法。