1.接口的组成
接口是由常量和抽象方法组成的
2.接口的定义格式
接口定义的关键字:interface
public interface 接口名 extends 接口,...{
//定义常量,常量命名时最好每个字母都大写
[public static final] 数据类型 常量名=常量值;
//定义抽象方法,抽象方法没有方法体
[public abstract] 返回值类型 抽象方法名(数据类型 参数名,...);
}
接口中所有的方法都是抽象方法,不能实例化对象,必须由一个类实现
3.接口的实现
//定义一个接口
public interface Person{
//定义一个抽象方法
public void eat();
}
//定义一个类实现接口
public static void main(){
private String name;//定义类的私有属性
//实现接口中的抽象方法
public void eat(){
System.out.println(this.name+"正在吃东西");
}
Student s=new Student();
s.name="张三";
s.eat();
}
}
程序运行的结果是:张三正在吃东西
接口实现的关键词:implements
接口实现的格式:
public class 类名 extends 父类名 implements 接口名,...{
//实现接口中的抽象方法
}
接口的作用:
1)定义通用的规则
2)丰富类的继承
接口与类的区别
1)接口可以由接口或者类继承,而类只能由类继承;
2)一个类可以实现多个接口,但只能继承一个类;
3)接口中的方法必须都是抽象方法,而类中的方法都是具体的方法;
4)接口中的访问修饰符只有public,类中的访问修饰符可以是public,private,默认,protected等;
5)接口不能实例化对象,类可以实例化对象;
6)类中可以定义属性,接口中只能定义常量;
7)接口中没有构造方法,类中至少有一个构造方法
3.final关键字(终结器)
1)被final定义的类不能被子类继承;
2)被fina定义的方法不能被子类重写;
3)被final定义的变量即成为常量,不能改变值;
4.监听机制
1)事件源对象:所有的容器组件和元素组件都可以成为事件源对象,动作发生在哪个组件上,哪个组件就成为事件源对象
2)监听方法:捕获事件源对象上的动作,根据事件源对象相关信息和动作自动调用对应的事件接口中的事件处理方法,执行相应代码
3)事件接口:不能实例化对象,需要定义一个类去实现它重写所有的抽象方法
ActionListener:动作事件接口,处理鼠标点击和键盘回车动作,不能实例化对象需要定义一个类去实现它
addActionListener(ActionListener l):动作监听方法,用来捕获文本输入框的回车动作和按钮上的鼠标
MouseListener:鼠标事件接口,用来处理鼠标点击,鼠标按下,鼠标释放,鼠标进入事件源对象,鼠标退出事件源对象五类动作
addMouseListener(MouseListener l):鼠标监听方法,用来捕获鼠标点击,鼠标按下,鼠标释放,鼠标进入事件源对象,鼠标退出事件源对象五类动作
MouseMotionListener:用来处理鼠标移动和拖动动作的接口,实现以后的两类抽象方法会自动循环调用
addMouseMotionListener(MouseMotionListener l):用来捕获鼠标移动和拖动动作