大凡初次使用java命令运行java程序时有时回抛出“仅当显式请求注释处理时才接受类名称”的错误提示,那么为什么会产生以及如何处理。
请看如下代码:
import javax.swing.JFrame;
import javax.swing.JButton;
public class MyFrame extends javax.swing.JFrame {
JButton button = null;
public MyFrame() {
initButton();
add(button);
this.setSize(400,400);
this.show();
}
private void initButton() {
if(button == null) {
button = new JButton("ok");
}
}
public static void main(String [] args) {
new MyFrame();
}
}
这段代码其实很简单就是一个JFrame里放置一个JButton。
使用javac 编译后生成class
使用java 运行时报出“仅当显式请求注释处理时才接受类名称”。
其实原因很简单,就是因为show方法是一个一过时的方法造成。解决方法:
在使用javac编译该类时已经有了提示:
注意:MyFrame.java使用或覆盖了已过时的API
注意:要了解详细信息,请使用-Xlint:deprecation 重新编译。
接下来我们只需要按此方法重新编译即可:
javac -Xlint:deprecation MyFrame.java
执行后会列出过期方法的列表信息,可以忽略,只要class文件正确编译成功即可
然后在使用java 命令运行class文件就不会出现上述错误提示。
解决方法很简单,网上也有很多人提过此类问题,但回答到点子上的很少,所以大家以后遇到问题先仔细分析,然后思考。
结束