一.创建类和对象
object iphone5pro {
class Person(){ }
class Student(){}
def main(args: Array[String]): Unit = {
println("Hello world!")
val p1 = new Person()
val p2 = new Person()
println(p1)
println(p2)
}
}
二.定义变量
object iphone5pro {
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)
println(s1.name)
}
}
object iphone5promax {
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 iphone5plus {
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 iphone6 {
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} ${b} ${c} 不能构成一个三角形")
return -1
}
}
}
def main(args: Array[String]): Unit = {
var t1 = new Triangle(3,4,2)
println(t1.getArea())
var t2 = new Triangle(3,4,3)
println(t2.getArea())
}
}
三.构造器的默认值
object iphone6pro {
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 iphone6promax {
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()
}
}
五.辅助构造器
object iphone6promax {
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, "1360000000")
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("9456651@qq.com", "123456", "小明")
r1.say()
r2.say()
}
}