没有静态变量和静态方法,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)}}
