类的定义
在Scala中,类并不用声明为public类型的
Scala源文件中可以包含多个类,所有这些类都具有共同可见性
//定义了一个类
class Person{
//用val修饰的变量是可读属性,有getter但没有setter
val id = "9527"
//用var修饰的变量既有getter,也有setter
var age:Int = 18
//类私有字段,只能在类的内部使用或者伴生对象中访问
private var name :String = "唐伯虎"
//类私有字段,该字段只能在当前类中被访问
private[this] var pet = "小强"
}
方法的定义
//Unit是返回值,代表null,在Scala中一般不使用return,直接写返回结果
def eat(foot:String):Unit = {
println(s"喜欢吃$foot")
}
方法的调用
object Test{
def main(args: Array[]String[): Unit = {
类名.eat("红薯")
}
}
构造器
Scala中的每个类都有主构造器,主构造器的参数直接放置类名后面
class Student(val name:String,var age:Int){
println("执行主构造器")
private var gender = "male"
def this(name:String,age:Int,gender:String){
//每个辅助构造器必须以主构造器或者其他辅助构造器调用开始
this(name,age)
println("执行辅构造器")
this.gender = gender
}
}
object Student{
def main(args: Array[String]): Unit = {
val s1 = new Student("zhangsan",20)
val s2 = new Student("zhangsan",20,"female")
}
}