zoukankan      html  css  js  c++  java
  • chapter4 《Programming in scala》笔记

    1、class、field和method

    类、属性与方法。这里的field就是java中的 instance variable。

    acc、csa就等同于java中的reference variable,它们指向一个具体的object。因为是val,所以它们不能再被赋予其他object。

    不过对于它们指向的具体的object,object的fields可能可以改变。

     

    为了保护fields不被outsider随意更改,可以让它们为 private,这个和java也是一样的。在scala中public是默认的。

    在 def function的时候,形如

    没有 = 号的话 这个函数的type 就默认为 unit了。

    2、singleton objects

    单例对象

    scala比java更 object-oriented的一点是 scala的class中没有静态成员。(chapter1说在scala中every value is an object and every operation is a method call )

    那静态成员放到哪里呢,就有了singleton objects.

    如果 singleton object和一个class的名字一样,那么这个object称为这个class的companion object 伴生对象。它俩定义必须在同一个文件里面。

    singleton object 可以认为是 有一个 name tag的object.

    单独定义一个 singleton object 并不意味着你可以 new一个 这样type的object出来,只有对 class才能new。 

    3、a scala application

    要运行一个scala程序,必须有一个 含有main方法的standalone singleton object。这个main方法的输入只有一个参数,result type为unit.

    standalone是指这个singleton object 没有伴生类。

     

    .scala文件也需要被编译后才能运行

    4、application trait

    extend application 特质后,在括号中可以直接写main方法的语句。不过这个写法不能在终端输入 参数,也不能并行。

  • 相关阅读:
    2016第34周三
    2016第34周二
    Spring中资源的加载ResourceLoader
    Spring的资源抽象Resource2实体类
    Spring资源抽象Resource
    SQL Server死锁产生原因及解决办法 .
    sql server中同时执行select和update语句死锁问题
    数据库死锁实例分析及解决方法
    一次查找sqlserver死锁的经历
    js和Jquery获取选中select值和文本
  • 原文地址:https://www.cnblogs.com/akanecode/p/7401979.html
Copyright © 2011-2022 走看看