我想知道是否可以在伴生对象中使用类的属性。例如下面的例子:
class Person1(val name: String, var age: Int){
lateinit var surname: String
companion object myc{
var cname: String =""
var cage: Int = 0
fun constructor(cname: String, cage: Int){
this.cage = cage
this.cname = cname
}
fun changeAge(age: Int ?= 0){
// access to surname or name or age
}
}
}
Run Code Online (Sandbox Code Playgroud)
我无法访问 Person1 类的任何属性
例如,我们将类或伴生对象称为如下:
val c1 = Person1.myc.constructor("john",10)
val c2= Person1("jack",20)
Run Code Online (Sandbox Code Playgroud)
我无法通过c1或c2调用changeAge()函数。当 Person1 尚未使用正确的构造函数实例化时,我可以使用 changeAge 的唯一地方是通过 Person1.changeAge() 。我想知道这些操作是否有其他选择,或者如果没有,拥有伴随对象还有什么意义
我想知道Java 9是否内置了对JSON的支持.如果是这样我怎么能导入它?我正在编写一个套接字程序,所以我不是在谈论Java EE,我要导入的目标是一个简单的Java SE类.