定義變數需下關鍵字var,若一開始不賦值須加上特殊的關鍵字lateinit進行宣告,並且它是採用名字在前面,型態在後面的方式去定義變數。而function的部分關鍵字簡短為fun,回傳的型態放置於括號後方。在Android的應用上listener的宣告方式變得更簡短。
import android.support.v7.app.AppCompatActivity1、宣告關鍵字
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
class MainActivity : AppCompatActivity() {
lateinit var btn_1:Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val txt: TextView = findViewById(R.id.txt_1);
txt.setText(fun1())
btn_1 = findViewById(R.id.btn_1)
btn_1.setOnClickListener{
fun2()
}
}
fun fun1():String{
return "ya"
}
fun fun2(){
btn_1.setText("click!!!!!!");
}
}
var 之後可以變動
val 初始化後只能讀取 (Val cannot be reassigned)
2、字串中取用變數
println("oooxxx${string}")
3、
val只有getter
var有getter 及 setter
getter與setter的改寫 : 使用關鍵字field
class Say{
var msg:String = "hello"
get() = field
set(val){
field = val
}
}
Say say = new Say()
println(say.msg) // world
say.msg = "hi"
println(say.msg) // hi
println(say.msg) // hi
沒有留言:
張貼留言