为何Android Studio中Java程序无法运行?@JvmStatic是什么?
Android中Java带main方法的代码无法运行的原因及@JvmStatic注解解析
一、Java代码无法运行的原因
- Android Studio默认项目配置是面向Android设备/模拟器的,而非标准Java SE运行环境,不会自动识别普通Java类里的
main方法作为可运行入口。 - Android项目的Gradle构建系统默认不会为纯Java类生成可执行程序的运行配置,因此不会显示运行按钮。若要运行需手动创建Java Application类型的运行配置,指定该类为主类,但这并非Android项目的常规用法。
- 补充:你的Java类名
ne不符合Java首字母大写的命名规范,虽不是无法运行的直接原因,但会影响IDE识别和代码规范性。
二、@JvmStatic注解的作用
- Kotlin的
object是单例类,类内定义的方法默认是单例实例的成员方法,而非静态方法。 @JvmStatic注解会让Kotlin编译器在生成Java字节码时,将标注的方法转化为静态方法。这样该方法既可以在Kotlin中直接通过ne.main()调用,也能像Java静态方法那样通过ne.main(args)调用。- 在你的场景中,正是因为
@JvmStatic让main方法变成了标准的静态入口方法,Android Studio才识别出这是可运行的程序入口,从而显示运行按钮并正常执行。
内容的提问来源于stack exchange,提问作者Sujal Sachan
相关产品推荐
相关产品推荐

