一.Scala的普通无参类
class Person{
}
在Scala里用class创建类,用new创建对象。
面向对象的三大思维特点:①.更符合人们的思考习惯②.把复杂的事情简单化③.把程序员从执行者变成指挥者
面向对象的三大特征:①.封装②.继承③.多态
定义属性的修饰符有三种:①.var:可访问可修改 ②.val:可访问不可修改 ③.private:私有,在类的外面不可访问不可修改。
class Person(){
var age=18
val name="小花"
private var gender="女"
def singSong(songName:String): Unit={
name="a"
gender="男"
println(s"我是$name,$age 岁,性别:$gender 唱歌 $songName")
}
}
object TestClass {
def main(args: Array[String]): Unit = {
var p1=new Person()
p1.age=19
p1.singSong("小幸运")
println(p1.name,p1.age)
var p2=new Person()
println(p2)
}
}
二.scala的主构造器
构造器:是为类创建对象,是创建对象的入口。
构造器主要的参数类型有三种:①.val:定义不可修改的参数
②.var:定义可修改的参数
③.非val和var
辅助构造器:定义时用this关键字
package TestCl
class Person(var name:String,var age:Int){
//var age=18
//val name="小花"
private var gender="女"
def this(name:String,age:Int,gender:String){
this(name,age)
this.gender=gender
}
def singSong(songName:String): Unit={
// name="a"
// gender="男"
println(s"我是$name,$age 岁,性别:$gender 唱歌 $songName")
}
}
object TestClass {
def main(args: Array[String]): Unit = {
var p1=new Person("小花",19)
//p1.age=19
p1.singSong("小幸运")
//println(p1.name,p1.age)
var p2=new Person("小明",20,"男")
p2.singSong("小幸运")
}
}