内部类中定义主函数找不到main

public class UseCase {
int x=100;
static class Inner{
void doitInner(){
//System.out.println("外部类"+x);
}
public static void main(String[] args){
System.out.println("a");
}
}
}
错误提示:错误: 在类 UseCase 中找不到 main 方法, 请将 main 方法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
怎么解决?
这一节讲的就是在内部类中定义主函数,说是编译的时候会生成UseCase$Inner的独立类,可我运行直接报错了呀。

你把main方法拿到Inner的外面就好了。
因为内部类的main不会被视为UseCase的main方法使用

编译会生成,不代表能运行,编译仅仅只是检查了语法,然后把java代码转成字节码。至于运行成功与否是JVM的事情。

估计你用的是开发工具吧,现在的开发工具一般都是编译和执行放一起的。如果你用命令行来操作,是可以通过编译的。追问

这一节讲的就是在内部类中定义主函数,说是编译的时候会生成UseCase$Inner的独立类,可我运行直接报错了呀。

追答

请把运行和编译分开

先编译后运行,你一定用的是eclipse这样的开发工具,编译过程完全被封装看不到。

如果你直接用命令行,javac去编译就能看到编译成功,然后调用java去执行的时候会发现执行报错。

追问

怎样算进行编译

追答

http://zhidao.baidu.com/question/584733444.html

可以参考下这个

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-08
将main方法写在inner类的外面追问

这一节讲的就是在内部类中定义主函数,说是编译的时候会生成UseCase$Inner的独立类,可我运行直接报错了呀。