scala入门学习之类的使用
時間比較緊,所以直接上代碼,解釋在代碼中:
/**
?* @author hnyd
?*/
class HelloClass {
?
}
//scala 中都是public類
class Person{?????? //不帶構造函數函數的
? var name:String=_ //會生成getter和setter
? val age=10??????? //只會生成getter
?
? //添加private[this]聲明的變量,只能在類的內部使用
? private[this] val gendar="male"
?
}
//這是一個主構造器
//1、定義一個主構造器后,其顳部聲明的變量,會生成相應的字段
//2、類中所有的內容會執行一遍
//3、如果變量的前面沒有帶val或var就相當于在字段前面添加了private[this],
//只能在內部使用,不能實例化調用
class Person2(var name:String,val age:Int){
?
? println("this is a primary constructor")
?
? var gender:String=_
?
? val school=""
?
? //附屬構造器
? //附屬構造器的名稱必須是this
? //附屬構造器中必須首先調用子構造器或附屬構造器
? def this(name:String,age:Int,gender:String){
??? this(name,age)
??? this.gender=gender
??? println("this a 附屬 constructor")
? }
}
//繼承
//關于override的使用,不單單對方法使用,還使用用于字段
class Student(name:String,age:Int,val address:String) extends Person2(name,age){
?
? println("this is a subclass of Person2")
?
? override val school=""
?
? override def toString="override toString...."
}
object HelloClass{
?
? def main(args:Array[String]){
?? ?
??? val p=new Person? //沒有構造函數可以省略"()"
??? p.name="jack"
??? println(p.name+":"+p.age)
?? ?
??? println()
?? ?
??? val p2=new Person2("jack",20)
??? println(p2.name+":"+p2.age)
?? ?
??? println()
?? ?
??? val p2_1=new Person2("jack",23,"male")
??? println(p2_1.name+":"+p2_1.gender)
?? ?
??? println()
?? ?
??? val s1=new Student("jack",23,"henan")
??? println(s1.name+":"+s1.age+":"+s1.address)
?? ?
??? println(s1.toString)
?? ?
??? println()
? }
}
堅持是必須的,希望你多寫多練,堅持
轉載于:https://www.cnblogs.com/YangMT/p/4787965.html
總結
以上是生活随笔為你收集整理的scala入门学习之类的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机二级考试办公软件高级应用题型,计算
- 下一篇: ArcGIS初步 系列视频教程