Java里面取值(get)跟赋值(set)有什么区别

云网络9个月前 (08-28)建站教程117

区别有:1. 取值(get):用于读取对象的属性值,不改变对象的状态;2. 赋值(set):用于修改对象的属性值,可能改变对象的状态;3. 访问控制:通过get和set方法,可以实现对属性的封装和保护;4. 扩展性:get和set方法可以加入额外的逻辑,如验证和监听。

1. 取值(get)

  • 读取属性:get方法用于读取对象的属性值。

  • 不改变状态:获取属性值不会改变对象的状态。

  • 返回类型:get方法的返回类型与属性类型相同。

  • 例子public int getAge() { return age; },用于获取age属性。

2. 赋值(set)

  • 修改属性:set方法用于修改对象的属性值。

  • 可能改变状态:赋值操作可能会改变对象的状态。

  • 无返回值:set方法通常没有返回值。

  • 例子public void setAge(int age) { this.age = age; },用于设置age属性。

3. 访问控制

通过get和set方法,可以控制外部对属性的访问和修改,提供封装。

4. 扩展性

在get和set方法中,可以加入额外的逻辑,如验证属性值的合法性或添加监听器。


延伸阅读

Java中直接赋值和构造方法赋值的区别

在Java中,直接赋值只会产生一个实例化对象,并且可以自动保存到对象池中,以实现对象的复用;而构造方法赋值会产生两个实例化的对象,并且不会自动入池,无法实现对象的重用。

1.直接赋值:先在字符串池中寻找是否存在和这个值相同的String对象。如果没有,则在字符串池中创建这个对象,然后返回这个对象的引用;若寻找成功,则直接返回这个引用。

2.构造方法赋值:堆允许程序在运行时动态地申请某个大小的内存空间。虽然两个对象指向同一块内容,但是他们本身是两个不同对象,只是地址相同。

直接赋值只会开辟一块堆内存空间,并且该字符串对象可以自动保存在对象池中以供下次使用;而如果使用构造方法赋值,就会开辟两块堆内存空间,并且其中一块堆内存将成为垃圾空间,此外也会对字符串共享产生问题。


相关文章

网站被黑有什么解决方法?

一、最直接的方式:关闭网站,百度统计后台有关闭网站的功能,可以直接选择关闭。如果是个人小站还好,但如果是企业站的话,一般直接关闭网站就不太现实了,一旦关闭网站,企业损失一般很大。二、最彻底的方式:启用...

性能王者诞生!iQOO 12曝光:骁龙8 Gen3 2K高素质直屏

据vivo副总裁贾净东透露,即将发布的iQOO 12将带来更多的惊喜和创新,定位为“性能王者”。据博主数码闲聊站透露,iQOO 12首批将搭载高通骁龙8 Gen3移动平台,并采用2K高素质直屏。高通骁...

成龙买华为手机被网友偶遇 网友:希望华为能请成龙代言

成龙买华为手机被网友偶遇 网友:希望华为能请成龙代言

近日,国际巨星成龙在成都崇州华为专卖店的购物经历引发网友热议。成龙因其亲民的长相和深入人心的作品而受到喜爱,而他的最新举动更是名声大噪——他买了一部着实让人大吃一惊的华为手机。据店员介绍,在咨询了相关...

后端和前端有什么区别

后端和前端的区别是:1、定义不同;2、展示方式不同;3、所需的技能不同;4、思考角度不同;5、入门难度不同。其中,前端统称为客户端开发,在应用程序或网站的屏幕上看到的所有内容都属于前端的工作范畴。后端...

苹果发布iPhone 15/15 Plus:标配4800万像素主摄

Apple 今天发布了 iPhone 15 和 iPhone 15 Plus,具有改进的性能、之前在 iPhone 14 Pro 上看到的动态岛、一系列新颜色以及取代 Lightning 连接器的 U...

怎样用FTP工具上传网站,ftp上传工具怎么用,怎么用ftp上传网

怎样用FTP工具上传网站,ftp上传工具怎么用,怎么用ftp上传网

很多刚开始做网站的新手都不知道,怎么用ftp工具上传网站或者做好的网页,应本站多名会员的要求,我以ftp上传工具flashfxp 为例,我做了一个简单教程,希望能给不会用ftp工具上传的朋友一些帮助。...