kotlin调用java代码思考(一)

引言:

在java中编写私有变量,一般都会给出set/get方法。
在kotlin中,使用var定义变量,编译器会自动生成set/get方法


遇到的问题

给 Toolbar 设置返回按钮图片时,用java实现,调用setNavigationIcon(R.mipmap.ic_launch)就可以实现。

image.png

由图片可以看出Toolbar源码类中给出了方法重载setNavigationIcon
可是,我用kotlin来调用时,按照我的想法,我就直接使用了toolbar.navigationIcon=R.mipmap.ic_launch
万万没想到,编译器报错,Required:Drawable? Found:Int。

猜想

我使用java编写一个类,添加两个私有变量,生成set/get方法


image.png

在kotlin中调用,当调用w=0.5的时候不会报错,可是调用w=5的时候会报错,原因是在java中没有定义相应的get方法。


image.png

总结

当使用kotlin调用java重载方法时,如果没有相应的get方法,则使用时直接set,便不能直接用变量=来写了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容