java 编译错分析

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:56:31
C:\Program Files\Java>javac advance.java
advance.java:57: SketchPanel.KeyHandler 不是抽象的,并且未覆盖 java.awt.event.Ke
yListener 中的抽象方法 keyReleased(java.awt.event.KeyEvent)
private class KeyHandler implements KeyListener
^
注意:advance.java 使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
注意:advance.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
1 错误
请问是错有那些.是什么原因,详细点.本人理解有限哦

说你的KeyHandler 这个类继承了KeyListener 这个类.但是在KeyHandler类中没有去重写(也可以叫覆盖)KeyListener 类中的keyReleased这个方法.
还有就是这句:private class KeyHandler implements KeyListener
你定义类不能用private修饰啊,哪个是私有的意思,你类都私有了,别的类还怎么调用啊

解决办法:
1.去掉private
2.在KeyHandler类中写一个keyReleased 方法,其声明要和父类的声明一致.

希望能帮你解决问题.

第一keyReleased()方法没写,或者名字写错(大小写、参数完全一致)
第二advance.java 使用或覆盖了已过时的 API说明你使用了过时了的方法如JFrame里的show();
advance.java 使用了未经检查或不安全的操作。一般你是使用了List之类的可以使用泛型的数据结构但是没有这样做。