1.
接口
定义接口的
关键字:interface
格式:
public interface 接口名 extends 接口,... {
//常量 常量名要全部大写
public static final 数据类型 常量名 = 值;
//抽象方法
public abstract 返回
值类型 方法名(数据类型 参数名,...);
}
注意:接口是不能
创建对象的。
接口只有一种访问修饰符public
接口默认会提供public,static,final,abstract关键字
实现接口的关键字:implements
格式:
public
class 类名 extends 类或者抽象类 implements 接口,...{
}
注意:子类实现接口后,必须要实现接口中所有的抽象方法。
类实现接口,实际就是类继承接口。
类的继承是单继承,有接口后就可以实现多继承。
接口和类的区别:
实际上完全可以把接口
理解成为一种特殊的类,由常量和抽象方法组成的特殊类。
一般都是比较接口和抽象类 因为抽象类和接口有一定的相似性.
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而类是可以有私有方法或私有变量的;
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现;
最后,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任
何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
2.抽象类
抽象类是类与接口的集合。
定义
public abstract class 抽象类名 extends 类或者抽象类 implements 接口,...{
//类中能定义的,抽象类都可以定义
//接口中能定义的,抽象类也可以定义
}
注意:抽象类不能创建对象。
3.事件
1.事件源
所有的图形界面组件都可以成为事件源对象。
你的动作发生在哪一个组件上,那么该组件就是事件源对象。
确定事件源:鼠标点击动作发生在登录按钮上,那么事件源就是登录按钮
2.事件
监听方法
事件监听方法是用来捕获你在事件源上发生的动作。
你发生的是什么动作,根据动作来确定事件监听方法。
鼠标动作(按下,释放,单击,进入事件源,离开事件源):
addMouseListener(MouseListener l);
键盘动作(按下,释放,敲击):
addKeyListener(KeyListener l);
动作(类似按钮组件上的鼠标点击,类似输入框组件上的回车操作):
addActionListener(ActionListener l);
3.
事件处理类(事件接口)
定义类实现相应的事件接口
重写事件接口的抽象方法
根据不同的动作,编写不同的事件
处理方法。
4.示例
QQ登录界面登录功能实现
1、初始化界面
2、调用初始化函数
3、设置界面的参数值
4、给事件源登录按钮添加一个动作监听方法。
5、定义类实现(继承)事件处理者接口,重写接口所有的抽象方法。
6、在事件处理方法中,实现处理代码。
7、创建事件处理类的对象,将对象指定给监听方法。
/**
* 定义Login类,该类是简单QQ登录界面
*/
public class Login {
// 程序的入口主函数
public static void main(String[] args) {
Login login=new Login(); // 创建Login类的对象
// 2.调用初始化界面的方法
login.initUI();
}
// 1.初始化界面的方法
public void initUI(){
// 3.创建JFrame窗体类的对象
JFrame frame=new JFrame();
//设置窗体的属性值
frame.setTitle("简单登陆界面"); //设置窗体的标题
JButton loginbutton=new JButton("登录"); // 创建登录按钮对象,添加到窗体上
......
}
//4、给事件源登录按钮添加一个动作监听方法
LoginListener b=new LoginListener(textname, passname, frame); //创建监听对象
//7、创建事件处理类的对象,将对象指定给监听方法。
loginbutton.addActionListener(b); //给按钮添加监听
5、定义类实现(继承)事件处理者接口,重写接口所有的抽象方法。
public class LoginListener implements ActionListener {
......
}
public void actionPerformed(ActionEvent e){
//6、在事件处理方法中,实现处理代码。
//显示登陆界面
JFrame jf=new JFrame(); //建立窗体对象
//设置窗体参数等
jf.setTitle("正在登陆");
......
}