2016.06.11
上课内容:接口与事件
突然发现以前上课的好多内容都忘了,又恳求熊哥给我讲了一遍,发现还是很有收获的。下面把讲过的知识总结下。
1.接口:
接口的定义关键词是interface
接口的定义形式是:public interface 接口名 extends 接口1,接口2....{
//定义常量
public static final 数据类型 常量名=值;
//定义抽象方法
public abstract 返回值类型 方法名 (数据类型 参数名);
}
注意:
(1)接口中的成员都是public,不能指定其他的访问控制修饰符。
(2)接口中属性的域默认是Public static final的,必须显示初始化。
(3)接口不允许创建对象。
类实现接口:
类实现接口的关键字是implements.
类实现接口的形式: public class 类名 extends 类名 implements 接口{
//类中必须实现接口中所有的抽象方法(包括父类的抽象方法)
}
类实现接口,其实就是类继承了接口,原来是单继承,但有了接口以后,就可以实现多继承了。类丰富了接口的类型。
2.抽象类
抽象类是在类与接口中的一种抽象形式。
定义:
public abstract class 抽象类名 extends 类名/抽象类名{
//可以定义类中的所有内容
//也可以定义抽象类中的所用内容
}
3.接口与抽象类的异同
相同点:
都有空的方法,都必须在子类中实现这些方法。
都不能用new关键字来创建这两种类型的对象。
都可以用继承的关系。
接口和类都有public属性。
不同点:
在抽象类中,空的方法需要加abstract关键字,而接口不需要。
在抽象类中,除了空的方法外,可以定义实例变量和非空的方法,而在接口中,只能定义常量和空的方法。
接口允许多继承类仅支持单继承。
4.事件
事件源:
有哪些可以成为事件源对象呢?
只有容器组件和元素组件才能成为事件源对象。即AWT组件和SWING组件
如何确定界面上哪一个组件是事件源呢?
当你的动作发生在那个组件上,那么那个就是事件源。
常见的事件的种类
ActionEvent 处理按钮、列表双击、单击菜单项目
MouseEvent 处理鼠标拖动、移动、单击、按下、释放或者进入、退出组件的事件
KeyEvent 捕捉事件源上键盘按下,释放按敲击动作。
MouseMotionEvent 捕获事件源上鼠标的移动和拖动的动作 。
FocusEvent 处理组件获得或者失去焦点事件
WindowEvent 处理窗口激活、失去活动窗口、最小化、打开、关闭或者退出的事件
TextEvent 处理文本区域或者文本区域的值的改变。
InputEvent 处理复选框和列表项单击、控件的选择和可菜单项选择的对象
事件监听方法:
addActionListener(ActionListener al);
监听类似按钮事件源上是否有鼠标点击操作,类似输入框事件源上是否有回车操作。
addMouseListener(MouseListener ml);
监听事件源上是否有鼠标进入,离开,按下,释放和单击操作。
addMouseMotionListener(MouseMotionListenr mml);
监听事件源上是否有输入移动和拖动操作。
addKeyListener(KeyListener kl);
监听事件源上是否有按键按下,释放和敲击操作。
事件接口(处理类):
ActionListener 动作事件接口
MouseListener 鼠标事件接口
MouseMotionListener 鼠标移动事件接口
KeyListener 鼠标事件接口
接口不能创建对象,只能定义类实现接口,重写方法。
练习:
1.实现用户点击登录按钮,显示一个新界面。
2.如果用户输入了账号和密码,对账号和密码进行验证,如果正确则显示新界面,错误则显示错误提示。