• 使用interface关键字定义接口,允许方法有默认实现
  • 一个类或者对象可以实现一个或多个接口
  • 接口中的属性只能是抽象的并且不能被初始化,实现接口时必须重写属性
    fun main(args:Array<String>){
    
        val c = Child()
        c.foo()
        c.bar()
        println("c==+${c.a}")
    }
    
     interface MyInterface{
         fun bar()
         //接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性
         var a:Int
         fun foo(){
             println("foo")
         }
    
    
     }
    
    class Child(override var a: Int =4) :MyInterface{
    
        override fun bar() {
            println("bar")
        }
    }

     

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。