创建类和面向对象
object inout32 {
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)
}
}
类的属性和方法
object inout33 {
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()
}
}
带参数的构造器(构造函数)
object inout34 {
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()
}
}
求三角形的面积并判断能否构成一个三角形
object inout35 {
class Triangle(var a:Double = 1.0,var b:Double = 1.0,var c:Double= 1.0) {
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} ${c} ${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())
}
构造器的默认值
object inout36 {
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()
}
}
构造器中的参数类型
object inout37 {
class Student(val name:String,var age:Int,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()
}
}