MyUtils.kt 文件中直接有方法,文件中还有类,类中也有方法
//kotlin文件名:MyUtils.kt
//kotlin类
class MyUtils {
//类中的方法,使用时需要先创建归属的类
fun show(info: String) {
println(info)
}
}
//kotlin文件中的方法,全局静态,只要不重名即可,写在哪里都一样
fun show122(info: String) {
println(info)
}
KtClient.kt 用于演示kt如何调用kt文件中的方法,和类中的方法
//文件名KtClient,用于演示kt调用kt的方法
fun main() {
//类中的方法一定要先调用这个类,再从这个类中调用其中的方法
MyUtils().show("类中的方法")
//文件中的方法可以直接调用,这个方法是全局静态的,只要全局不重名即可!!!!
show122("文件中的方法")
}
JavaClient.java用于演示Java如何调用kt文件中的方法和类中的方法
public class JavaClient {
public static void main(String[] args) {
//类中的方法,相当于Java类中的方法,需要先新建这个类
new MyUtils().show("fun is in the class");
//直接的方法,相当于文件类中的静态方法
MyUtilsKt.show122("fun is out of class");
}
}
方法中的类,其实编译后,会变成该kt文件名MyUtils+Kt的一个Java Class * MyUtilsKt.java * 在这个新类中有一个全局静态的方法,叫show122() * 可以全局使用,只要不重名 * * 假如你一定要试试两个kt文件中写相同名称的fun, * 试想,编译后,会有两个文件名+Kt的类中的两个方法, * 但是在你写这个方法的时候就会报错了,还不等编译,不信你可以试试 * * 总结:Kt文件,就是,文件里边有类,方法写在类中,就根据类来调用这个方法;1,kt中调用:类.方法;2,Java中调用:类.方法 * 如果文件里边没有类,只有方法,就会生成一个用文件名+Kt的Java类,里边的方法都是全局静态类;1,kt中调用:直接方法名;2,Java中调用:文件名+Kt类.方法