我们先来看看set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的。而且,在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如setage()和getage(),表示设置年龄和获取年龄。
然后我们来了解一下JAVA面向对象编程中的封闭性和安全性。封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性,当我们想要操作这些域变量怎么办呢?
我们可以通过两种方法,第一种即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。第二种就是通过上面提到的set和get方法,这里举一个特定的例子,我定义一个Person类,该类中有name、age这两个私有域变量,然后我定义setname()、getname()、setage()、getage()这四个方法,通过这四个方法来实现对name和age的操作。这样一来,我不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。
最后说说set和get方法的使用场景,一般来说set和get方法都是对私有域变量进行操作的,所以大多数都是使用在包含特定属性的类实体中。
现在你明白set和get方法了吧,其实这两个方法只是类中的setxxx和getxxx方法的总称。
在今后的开发过程中,只要你细心体会,结合JAVA中的一些宏观的知识。set和get方法还是很容易理解的,或许你还会领会一些其他的JAVA中的重要理论知识
注:
1.get和set在输出时都可以得到同一个值
例子:https://jingyan.baidu.com/article/fdbd4277a9ede4b89f3f4864.html
2.通过设置get与set,在返回(得到)一个值时可以先做判断在输出
例子:如通过set设置一个人的年龄,可以在这个方法里先加一个判断,输入的数值在0-100当中即可通过存入,否则不可通过。若不设置set,只是一个变量,那么有可能输入的是一个负数也通过。
3.其他理解https://blog.csdn.net/fututadeyoushang/article/details/80941537
总结:
1.使用get()与set()可以控制变量。
2.为了保证数据的安全性,我们把数据定义为private等(私有、封装)时,使用get()与set()可以隐藏内部实现细节,保证代码的安全,同时也可以提升数据的安全性。