lass Student(var name:String,var gender:String,var ID:String){
}
object Student{
def apply(name:String,gender:String,ID:String):Student=new Student(name,gender,ID)
}
object learn2 {
def main(args: Array[String]): Unit = {
var s1=new Student("小花","女","20241234")
var s2=Student("小花","女","20241234")
println(s2.name)
//对象是由那个类创建的
var i=10
var str="abc"
println(s1.getClass())
println(1.getClass())
println(str.getClass())
//对象是否是某个类创建的?
// 对象. isInstanceOf[类],结果是布尔值
println(s1.isInstanceOf[Student])
println(str.isInstanceOf[Student])
}
}
//伴生类
//private修饰的构造函数,在类外部不能访问,所以不能在测试类使用new
class Stu private(var name:String){
}
//伴生对象
object Stu{
//定义唯一的一个对象
//private构造函数在伴生对象内部可以使用
private val instance=new Stu("小花")
def getInstance:Stu=instance
}
object learn1 {
def main(args: Array[String]): Unit = {
var s=Stu.getInstance
var s1=Stu.getInstance
println(s==s1)
println(s==s1)
}
}