猿问

为什么Java中人们都将属性设为私有,然后写setter/getter?

很多人推崇kotlin,认为语法简介、优雅,再也不用写冗长的setter/getter方法了。

我个人目前也在使用kotlin,但我有个问题,就是Java中如果不将属性设为private, 而是public,那么同样不需要写setter/getter方法啊?

kotlin的代码中,比如:

class ProductInfo {    var productId:String?=null
    var productName:String?=null
    var productPrice:BigDecimal?=null
    var productStock:Int?=null
    var productDescription:String?=null
    var productIcon:String?=null
    var productStatus:Int?=null
    var categoryType:Int?=null
    var createTime:Date?=null
    var updateTime:Date?=null}

也并不是将属性设为私有啊。


<font color="red"> 很多人都说使用setter/getter是因为面向对象的封装特性,安全之类的,这个我认同,但是为什么kotlin里面就不需要setter/getter呢? </font>


素胚勾勒不出你
浏览 597回答 1
1回答

海绵宝宝撒

因为它的编译器帮你自动生成getter/setter
随时随地看视频慕课网APP

相关分类

Java
我要回答