java中类名不是抽象的并且未覆盖抽象方法
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class hello extends JFrame implements KeyListener,ActionListener{
JTextField keytext = new JTextField(80);
JLabel keylabel = new JLabel("press any key: ");
public hello(){
super("hello");
setSize(350,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
FlowLayout layout = new FlowLayout();
setLayout(layout);
keytext.addKeyListener(this);
add(keytext);
add(keylabel);
setVisible(true);
}
public void keyRelease(KeyEvent evt){
char ch = evt.getKeyChar();
keylabel.setText(""+ch);
}
public static void main(String[] argc){
hello test = new hello();
}
}
为什么它会说hello不是抽象类,并且未覆盖java.awt.event.KeyListener中的抽象方法keyRelease;
lybzzz 发布
1.需要说明的是java中不存在静态类.(不信你可以去试试)
2.抽象类类前用abstract修饰,如果类中有一个及以上的用abstract修饰的方法(抽象方法,只有方法名没有方法体的方法)
3.抽象方法:类前就应该用abstract修饰为抽象类只有方法名没有方法体的方法.目的为了一个规范.子类必须实现此方法,不然也得声明为
抽象类
4.接口,就是一个特殊的抽象类,里面的方法都是抽象方法.
现在说说接口的作用吧,(就是抽象类的作用)
定义了一组规范,宏观的讲就相当于usb接口,通用的,而接口怎么实现通用呢?
打个比方你就知道了我定义了一个接口Car,里面有run抽象方法,现在有两个类Benz和BMW类,都继承car类实现run方法
现在其他类有个方法
public void f(Car car)
{
car.run();
}
参数是个接口,它既可以接受Benz对象,又可以接受BMW对象,只要实现Car接口就可以传进去(子类对象传给父类)
这就是通用性
5.静态方法:也可以说类方法,可以直接类名.方法名();就可以直接调用
优点就是不用创建实例对象就可以访问方法
限制就是方法体里只能调用用static修饰的方法和属性
10-04-11
| 添加评论
| 打赏
◆◆
请登录后再发表评论!
◆◆