|
|
|
|
移动端

2.4 JavaBean

《Android Gradle权威指南》本书全面讲解了Android 下Gradle的详细用法,并结合实例,让读者达到学以致用的目的。本节为大家介绍JavaBean。

作者:飞雪无情来源:人民邮电出版社|2017-09-09 14:03

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


2.4 JavaBean

JavaBean是一个非常好的概念,你现在看到的组件化、插件化、配置集成等都是基于JavaBean。在Java中为了访问和修改JavaBean的属性,我们不得不重复生成getter/setter方法,并且使用它们,太烦琐,这在Groovy中得到很大的改善:

  1. task helloJavaBean << {  
  2. Person p = new Person()  
  3. println "名字是:${p.name}"  
  4. p.name = "张三" 
  5. println "名字是:${p.name}"  
  6. }  
  7. class Person {  
  8. private String name  

在没有给name属性赋值的时候,输出是null;赋值后,输出的就是“张三”了。通过上面例子,我们发现,在Groovy中可以非常容易地访问和修改JavaBean的属性值,而不用借助getter/setter方法,这是因为Groovy都帮我们搞定了一些功能。

在Groovy中,并不是一定要定义成员变量才能作为类的属性访问,我们直接用getter/setter方法,也一样可以当作属性访问:

  1. task helloJavaBean << {  
  2. Person p = new Person()  
  3. println "名字是:${p.name}"  
  4. p.name = "张三" 
  5. println "名字是:${p.name}"  
  6. println "年龄是:${p.age}"  
  7. }  
  8. class Person {  
  9. private String name  
  10. public int getAge(){  
  11. 12  
  12. }  

通过上面的例子可以发现,我并没有定义一个age的成员变量,但是一样可以通过p.age获取到该值,这是因为定义了getAge()方法。那么这时候我们能不能修改age的值呢?答案是不能的,因为我们没有为其定义setter方法。

在Gradle中你会见到很多这种写法,开始会以为这是该对象的一个属性,其实只是因为该对象里定义了相应的getter/setter方法而已。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

软件架构设计

本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念,阐述了切实可行的软件架构设计方法,提供了可操作性极强的完整的架...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊