6月30日(事件机制)总结:
1、接口的定义
1.1定义接口的关键字:interface
1.2格式:
public interface 接口名{
//可以定义常量
public static final 数据类型 常量名 = 值;
//定义抽象方法
public 返回值数据类型 方法名(数据类型 常熟名,...);
}
1.3接口的继承
格式:
public interface 接口名 extends 接口名,... {
//常量
public static final 数据类型 常量名 = 值;
//抽象方法
public 返回值数据类型 方法名(数据类型 参数名,...);
}
1.4接口不能实例化对象,里面的方法都是抽象方法,接口中若要调用常量,格式为:接口名.常量名
1.5要注意的地方:1.接口中默认的访问修饰符就是public 2.接口中的每个常量都必须要大写 3.接口可以继承接口,而且可以同时继承多个接口 4.接口不能实例化对象
2、接口的实现
2.1实现接口的关键字implements
2.2格式:
public class 类名 extends 类名 implements 接口名,...{
//实现接口中的抽象方法
}
3、抽象类的定义与实现
3.1定义抽象类的关键字是:abstract class
public abstract class 抽象类名{
//定义类中所有的属性和方法
//定义接口中的常量和抽象方法
public abstract 返回值数据类型 方法名(数据类型 参数名,...);
}
public class 类名或者抽象类 extrends 抽象类名 implements 接口名,...{
//实现接口中所有的抽象方法
}
3.2类实现了接口之后,需要注意的地方有:1.接口也是一种类,只是比较特殊 2.类实现(继承)接口后,那么类必须要实现接口中所有的抽象方法 3.类继承接口后,拥有类继承类的所有特性。
4、事件机制
4.1事件源
确定只有Java的图形界面类才能成为事件源
只要你点击的动作发生在图形界面对象上,那么该图形界面对象就是事件源。
例如,有电话来了,接听键和拒接键就是事件源。
4.2事件监听器方法
让事件源可以随时监听对应的操作
事件源对象.add**Listerner(**Listerner l);
例如,在打电话中,耳朵就是监听器。
4.3事件处理对象
事件处理类,事件要执行的最终代码。
public class 类名 implements **Listener {
//重写事件接口中的抽象方法
}
比如说打电话中要执行的最终代码就是把声音传过去。
这节课,我觉得监听器很重要,在以后写代码的生涯中是必不可少的元素,所有组件要起反应都靠它。下面的代码延续上次QQ登录界面的代码,就是写了个LoginListener的监听器,然后把监听器加到登录按钮上就行了。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
public class LoginListener implements ActionListener {
//定义一个全局变量
JPasswordField jpf;
//重新定义一个构造方法
public LoginListener(JPasswordField jpf){
this.jpf = jpf;
}
//实现抽象方法
public void actionPerformed(ActionEvent arg0) {
//判断密码框内密码是否为123
if((jpf.getText()).equals("123")){
JFrame jf = new JFrame("QQ");
jf.setSize(200, 100);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(2);
JLabel jl = new JLabel("登录成功");
jf.add(jl);
jf.setVisible(true);
}
else {
JOptionPane.showMessageDialog(null,"你输入的密码有误,请重新输入!");
}
}
}