没有静态变量和静态方法,Scala中采用伴生对象来顶替静态操作
用Java作例子
public class Person{
// 伴生类
private String name;
public void say(){
Person.Country
}
// 伴生对象
public static final String Country = "中国"
public static void run(){
}
}
1.单例对象语法
1.1 说明
- 用object关键字声明
- 伴生对象和伴生类的名称要一致
- 访问伴生对象的属性和方法,直接用对象名.属性/方法直接调用
object Person{
val name:String = "zs"
}
class Person{
def xixi(){
println(Person.name)
}
}
1.2 主构造器私有化
class Person private(){
}
object Person{
}
2.apply方法
class Teacher private(var name:String){ //私有主构造器
}
object Teacher{
def apply(name:String): Teacher ={ // 静态方法-提供单例对象
new Teacher(name)
}
}
object Test03_Demo {
def main(args: Array[String]): Unit = {
var t = Teacher("zs")
println(t.name)
}
}