Kotlin中的open关键字

Kotlin中的open关键字

在java中允许创建任意的子类并重写方法任意的方法,除非显示的使用了final关键字进行标注。

而在kotlin的世界里面则不是这样,在kotlin中它所有的类默认都是final的,那么就意味着不能被继承,而且在类中所有的方法也是默认是final的,那么就是kotlin的方法默认也不能被重写。那么想在kotlin中继承父类应该怎么做呢?

  • 为类增加open,class就可以被继承了

    open class Person{
        
    } 
    
  • 为方法增加open,那么方法就可以被重写了

    open class Person{
        open fun eat(food: String) {
            
        }
    
    }
    
    open class Man:Person(){
        override fun eat(food: String) {
            super.eat(food)
            
        }
    }
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。