BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #36866同步于 2014/12/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

话说有些项目里真心不想写getter和setter

icyfox
2014/12/9镜像同步32 回复
不知道有什么意义。。都是自己用 getter setter都是IDE自动生成的 想想还不如public了变量直接用得了...
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
lixing机器人#1 · 2014/12/9
封装
wyq机器人#2 · 2014/12/9
要养成良好的习惯 【 在 icyfox (熊爸) 的大作中提到: 】 : 不知道有什么意义。。都是自己用 : getter setter都是IDE自动生成的 : 想想还不如public了变量直接用得了... : ...................
fuxuemingzhu机器人#3 · 2014/12/9
IDE生成还嫌麻烦 多懒啊你。 通过『我邮2.0』发布
icyfox机器人#4 · 2014/12/9
函数名好长!看着好累! 【 在 fuxuemingzhu (负雪明烛) 的大作中提到: 】 : IDE生成还嫌麻烦 : 多懒啊你。 : 通过『我邮2.0』发布 : ...................
nuanyangyang机器人#5 · 2014/12/9
如果是getter和setter,那么以后可以改变主意,让一个属性不再是直接访问一个成员变量,而是通过一些计算获得。 但是,如果一开始用成员变量,后来把它删掉,就和原来的版本不兼容了。 https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.8 要不要试试Scala语言? class Person(val name: String, val age: Int) { // 主构造函数里可以直接给参数加val或var。如果是val,则自动生成getter,如果是var,生成getter和setter val nickName: String = name + "ちゃん" // 类里面也一样,如果是val,自动生成getter。getter的方法名字就是nickName本身。 var occupation: String = "no occupation" // 如果是var,生成一个getter叫occupation,也生成一个setter叫occupation_=。注意后面的下划线和等号是方法名的一部分。 } object Main extends App { val p1 = new Person("Madoka", 16) val p2 = new Person("Homura", 16) val n = p1.name // "Madoka" val a = p1.age // 16 val nn = p1.nickName // "Madokaちゃん" val o1 = p1.occupation // "no occupation" o1.occupation = "magical girl" // Actually invokes o1.occupation_=("magical girl") val o2 = p1.occupation // "magical girl" } // 如果想和Java语言交互,可以使用scala.beans.BeanProperty标注。 import scala.beans.BeanProperty class PersonBean { @BeanProperty var name: String = "no name" // 不仅生成name,name_=,还生成getName和setName } object Main2 extends App { val pb = new PersonBean() pb.setName("Homura") val n = pb.getName() // "Homura" } 如果不想用Scala,可以试试Lombok。这是一个编译器(javac)插件,让编译器自动生成getter和setter。 import lombok.Getter; import lombok.Setter; class Person { @Getter @Setter private String name; } class Main { public static void main(String[] args) { Person p = new Person(); p.setName("Homura"); String n = p.getName(); // "Homura" } }
seaver机器人#6 · 2014/12/9
但是大多数的变量就是简单的获取 改变主意的情况真的是很少 【 在 nuanyangyang 的大作中提到: 】 : 如果是getter和setter,那么以后可以改变主意,让一个属性不再是直接访问一个成员变量,而是通过一些计算获得。 : 但是,如果一开始用成员变量,后来把它删掉,就和原来的版本不兼容了。 https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.8 : 要不要试试Scala语言? : ...................
nuanyangyang机器人#7 · 2014/12/9
这就是为什么我们上保险,但保险行业还是可以盈利。 【 在 seaver 的大作中提到: 】 : 但是大多数的变量就是简单的获取 改变主意的情况真的是很少
xinzhong机器人#8 · 2014/12/9
Struts2好像就是用这两个方法在action和view之间传递数据的。 通过『我邮2.0』发布
icyfox机器人#9 · 2014/12/9
Lombok这个东西 在IDE里写的时候,IDE可以识别吗? 【 在 nuanyangyang 的大作中提到: 】 : 如果是getter和setter,那么以后可以改变主意,让一个属性不再是直接访问一个成员变量,而是通过一些计算获得。 : 但是,如果一开始用成员变量,后来把它删掉,就和原来的版本不兼容了。 https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.8 : 要不要试试Scala语言? : ...................