与java的区别:
我们java中要用到类,而scala全是this
注意以下两点:
示例:
1、def this( name:String){ } ,它第一个辅助构造器,因此只能调用主构造器this( )。
2、第二个辅助构造器中有两个参数,可以发现它this(name)调用的是第一个辅助构造器,将name设置到字段中。
3、多了一个info方法,无参数无返回值直接采用c的方式打印信息
4、Object结构中,我们定义入口函数main,声明了一个实例化对象myCounter1,省略了(),加了括号的时候就相当于调用了主构造器,因为没有任何参数传进来,因此调用了主构造器
5、 第二个 myCounter2 ,匹配第一个辅助构造器,传来了一个参数,把计数器的名字设置为Runner。
6、第三个myCounter3,匹配第二个构造器
myCounter2.info,打印的是name is ,mode is 空的。
通过此示例,要知道辅助构造器是怎么工作的。
Scala主构造器
scala主构造器与java构造器本质区别
1、scala主构造器中的参数被编译后直接编程类中的字段,这是最特殊的地方
java的主构造器写在类里面,而scala的主构造器是整个类体,它直接类名称后面罗列出构造器所有的参数,如下代码示例
与java最大的不同地方如下:
打印结果: