|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
类的属性也可以像java一样有geter和seter,其实就是一种在类里设置属性如何设置和获取的方式如:
- class City{
- var name:String=""
- get() {
- return field
- }
- set(value) {
- if (value.isNotBlank()){
- field=value
- }
- }
- var population:Int=100_000_000
- }
- fun main(args: Array<String>) {
- var a=City()
- a.name="Japan"
- a.name=" berlin "
- println(a.name)
- }
复制代码
这里面field就是指name,输出结果为:
还有一种接口类:
- interface Animal{
- fun scream():String
- }
- interface Move{
- fun run()
- }
- class Dog():Animal,Move{
- override fun scream():String{
- return "汪汪"
- }
- override fun run() {
- println("狗在跑")
- }
- }
- fun main(args: Array<String>) {
- Dog().run()
- print(Dog().scream())
- }
复制代码
这是Dog继承了两个接口,必须实现每个接口里的方法才行。接口不允许有构造器,输出结果为:
还有一种叫抽象类,跟接口差不多,就是他能有构造器:
- interface Animal{
- fun scream():String
- }
- interface Move{
- fun run()
- }
- class Dog():Animal,Move,Drink(){
- override fun scream():String{
- return "汪汪"
- }
- override fun run() {
- println("狗在跑")
- }
- override fun drink(){
- println("Drink"+water)
- }
- }
- abstract class Drink(var water:String="water"){
- abstract fun drink()
- }
- fun main(args: Array<String>) {
- Dog().drink()
- }
复制代码
抽象类里如果想要复写的方法必须加上abstract关键字,输出结果为:
|
|