//对象相关
//对象表达式:相当于Java匿名内部类,在使用的地方立即被执行
val a = 10
//定义一个没有父类的对象
val adHoc = object {
var x:Int = 0
var y:Int = 0
}
//当对象声明在另一个类的内部时,这个累的实力并不能直接访问对象申明内部,二而只能通过类名来访问对象同样该对象也不能直接访问到外部类的方法和变量
class Site{
var name = “yin peng”
object DestTop{
var url = “sss”
fun showName(){
// println("$name") // 错误的示范
}
}
}
//伴随(生)对象:相当于静态内部类+该类的静态属性,所在的类被加载,伴生对象被初始化(和 Java 的静态初始是对应):
class Books(var name:String,val page:Int){
companion object ComBooks{
val a : Int = 10
fun doNote(){
println(“do note”)
}
}
}
class Fruit(price:Double){
//二级构造 有一级构造会调用,没有则调用二级
constructor(name: String):this(2.3)
}
class Person(name: String,age:Int = 12){