接口和事件机制
2016-09-02 21:38 Jason林 阅读(748) 评论(0) 编辑 收藏 举报接口:
在java程序设计语言中,与类不同,接口的定义需要用interface。
接口是对类的一组需求描述,这些类要按照接口描述的同意格式进行定义。
这就是说,任何实现Ball接口的类都需要包含play方法。
下面是Ball接口的代码:
1 public interface Ball{ 2 void play(); 3 }
下面是FootBall类的代码:
1 public class Football implements Ball{ 2 public void play{ 3 System.out.println("踢足球"); 4 } 5 }
接口的实现使用implemets关键字,与类的extends不同。
在接口声明中没有将play方法声明为public,这是因为接口中的所有方法都自动地是public。不过,在实现接口的时候,必须把方法声明为public。
在接口中还可以定义常量。接口中的属性默认是,且只能是public static final。
上面的接口只有一个方法,而有些接口可能包含多个方法。接口本身不能实例化,也不能在接口中实现方法。
接口与接口之间也是存在继承关系的。
下面是Sports接口的代码:
1 public interface Sports{ 2 void play(); 3 void getScore(); 4 }
Ball接口继承Sports接口:
public interface Ball extends Sports{ void play(); }
Football类实现Ball接口:
public class Football implements Ball{ public void play(){ System.out.println("踢足球"); } public void getScore(){ System.out.println("得分"); } }
类必须要实现(重写)接口中所有的抽象方法,接口如果有父接口,那么父接口中的抽象方法也必须要实现(重写)。一个类只可以继承一个父类,但可以实现多个接口。
事件机制:
写好一个界面后,我们就会对界面进行一些操作,比如点击按钮。
点击按钮称为一个事件,而这个按钮称为事件源对象。实际上,所有的容器组件和元素组件类的对象都可以成为事件源对象。
事件源对象上有动作产生时,需要对这一动作进行监听。这时就需要监听方法:addActionListener(ActionListener listener)。
按钮组件上的鼠标点击动作,输入框组件上的回车动作都可使用addActionListener(ActionListener listener)这一监听方法。
比如:
ActionListener listener = new . . . ; JButton button = new JButton("login"); button.addActionListener(listener);
为了实现ActionListener接口,监听器类必须有一个被称为actionPerformed的方法,该方法接收一个ActionEvent对象参数。
class MyListener implements ActionListener{ ... public void actionPerformed(ActionEvent e){ //点击按钮做出的反应。 ... } }
只要点击按钮,JButton对象就会创建一个ActionEvent对象,然后调用MyListener.actionPerformed(e)传递事件对象。
这样一来,只要点击按钮,按钮就会调用所有监听器类的actionPerformed方法,从而对该事件源对象上的动作做出反应。