每个类都有主构造器,主构造器的参数直接放在类名后面

class student(val name:String, var age:Int, gender:String, var id :Int = 18) {

// name has get func, age has get and set func, gender: private[this], even companion object cannot access, age may ignore when new

}

无参数也是主构造器

class student {

}

或者

class student() {

}

classstudent {

vars="we"

defa() = {

}

s="hah"

println(s)

}

objectstudentextendsApp{

valt=newstudent

}

会println “hah" 所以整个class中都是构造器都会执行

class student {

var name = _

def this(name:String) = {

this()

this.name = name

}

}

辅助构造器第一行要调主构造器

scala中的object就是单例的,一个进程只有一个

伴生对象,在scala的类中,与类名相同的对象。类和伴生对象之间可以互相访问私有方法和属性,与类在同一个文件中。但是private[this]不能访问


object分三种 singleton, app object,companion。

trait 相当于 interface,java8中interface可以定义的时候实现 ctrl + i

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象的语言都有一个类的概念,通过类可以创建多个具有相同方法和属性的对象,ES6之前并没有类的概念,在ES6中引...
    Erric_Zhang阅读 4,813评论 1 4
  • 大家好,欢迎加入小李君的Kotlin学习之旅。今天是小李君学习 Kotlin 的第八天。 写了几天日记,小李君发现...
    William李梓峰阅读 4,758评论 3 8
  • 好奇心是一种有力的驱动器,能让一个人成为更好的自己,能让社会成为一个更科学的社会。 然而,这个驱动又像所有的生命一...
    nonerule阅读 3,196评论 2 4
  • 相信很多同学都有遇到新版本Chrome不能自动加载Flash的问题,那怎么解决?请往下看。。。 第一步打开Chro...
    Luuren阅读 12,391评论 1 0
  • 偶然看到一个通告,说是作家余华要来武汉开分享会,看到有同学发了动态,又看到两个室友激动的要去,自己也想体味被文化熏...
    Mary爱笑阅读 2,662评论 5 5