1.Scala没有静态方法或者静态字段,但是可以用object这个语法结构来大道同样的目的。
2.Scala的对象定义了某个类的单个实例,包含了想要的特性。
3.对象的构造器在该对象第一次被使用时调用。
4.对象本质上可以拥有类的所有特性,但是对象不能够提供构造函数。
5.对象的作用:
(1)作为存放工具函数或常量的地方。
(2)高效的共享单个不可变实例。
(3)需要用单个实例来协助某个服务时。
其实这三个功能我个人感觉就是起到了一个静态的作用。
6.伴生对象就是和已存在类名相同的对象。
7.类和它的伴生对象可以互相访问私有特性。但是他们必须存在于同一个元文件中。
8.一个object可以扩展类以及一个或者多个特质,期结果是一个扩展了指定类以及特质的类对象,同时拥有在对象定义重给出的所有特性。
9.当遇到如下形式的表达式的时候,apply方法就会被调用:
Object(参数1,参数2……)
10.Array对象定义了apply方法,让我们可以用下面这样的表达式来创造数组:
Array(“Marry”,”had”)
11.Array(100)和new Array(100)的含义不一样的
Array(100)调用的是apply(100),输出一个单元素(整数100)的Array[Int];
new Array(100)调用的是构造器this(100),结果是Array[Nothing],包含了100个null元素。
12.每个Scala程序都必须从一个对象的main方法开始,这个方法的类型为Array[String] => Unit
13.和Java和C++不同,Scala并没有枚举类型。不过标准类库提供了一个Enumeration助手类,可以用于产出枚举。