1.创建类和对象
class Person(){}
class Student(){}
def main(args: Array[String]): Unit = {
val p1 = new Person()
val s1 = new Student()
println(p1)
println(s1)
}
2.定义和访问成员变量
class Person(){}
class Student() {
var name: String = "小花"
var age: Int = 18
}
def main(args: Array[String]): Unit = {
val p1 = new Person()
val s1 = new Student()
println(s1.name)
s1.name = "小花花"
println(s1.name)
}
3.定义和访问成员方法
class Student() {
var name: String = "小花"
var age: Int = 18
def say(): Unit = {
println(s"${name},${age}")
}
}
def main(args: Array[String]): Unit = {
val s1 = new Student()
s1.say()
}
4.带参数的构造器
class Student(var name:String = "小花", var age:Int = 18) {
println("Student......被调用了....")
def say(): Unit = {
println(s"${name},${age}")
}
}
def main(args: Array[String]): Unit = {
val s1 = new Student()
s1.say()
val s2 = new Student("小明",19)
s2.say()
}
5.构造器的默认值
class Student(var name:String, var age:Int, var gender:String="男", var nav:String="汉族") {
def say(): Unit = {
println(s"${name},${age},${gender},${nav}")
}
}
def main(args: Array[String]): Unit = {
var s1 = new Student("小明",19)
s1.say
var s2 = new Student("小花",18,"女","回族")
s2.say()
}
6.检验能否构成三角形和计算面积
class Triangle(var a: Double = 1.0, var b: Double = 1.0, var c: Double = 1.0) {
println(s"$a; $b; $c; $c+")
def check(): Boolean = {
return a + b > c && b + c > a && a + c > b
}
def getArea():Double = {
if(check()){
var s = (a+b+c)/2
s = Math.sqrt( s*(s-a)*(s-b)*(s-c) )
return s
} else {
println(s"${a} ${b} ${c} 不能构成一个三角形")
return -1
}
}
}
def main(args: Array[String]): Unit = {
val t1 = new Triangle(3,4,7)
println( t1.getArea())
val t2 = new Triangle(3,4,3)
println( t2.getArea())
}
7.构造器中参数的类型
/构造器中的参数的类型
class Student(var name:String, var age:Int, var gender:String="男") {
def say(): Unit = {
println(s"${name},${age},${gender}")
}
}
def main(args: Array[String]): Unit = {
var s1 = new Student("小明",19)
s1.age = 20
s1.say()
}
8.辅助构造器
class Register(val name: String, var email: String, var pwd: String, var phone: String) {
println("主构造器被调用")
def this(phone: String, pwd: String) {
this("随机用户xxxxx", "xxxxx@qq.com", pwd, phone)
println("辅助构造器被调用")
}
def this(email: String, pwd: String, name: String) {
this(name, email, pwd, "13600000000")
println("辅助构造器被调用")
}
def say(): Unit = {
println(s"姓名: ${name}, 邮箱: ${email}, 密码: ${pwd}, 手机号: ${phone}")
}
}
def main(args: Array[String]): Unit = {
val r1 = new Register("13617885566", "123456")
val r2 = new Register("945651@qq.com", "123456", "小明")
r1.say()
r2.say()
}