kotlin中匿名对象
open class MyClass { private fun too()=object { var x : String ="x" } fun publictoo()=object { var x : String ="x" } fun bar(){ var x1 =too().x //publictoo().x // 编译错误,因为是public 方法返回类型是Any } }
总结:匿名对象只能用在本地函数或者private声明中,如果将匿名对象用于public函数的返回值,或者public 属性的类型,那么kotlin编译器会将这些函数或者属性的返回类型重新定义 为匿名对象的父类型.如果匿名对象没有实现任何接口,没有从任何类继承,那么父类型就是Any,因此在匿名对象中的任何成员将无法访问!
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
posted on 2018-12-19 11:16 LoaderMan 阅读(1896) 评论(0) 编辑 收藏 举报