一、类
特点:类里面的方法都是普通方法,如:public void play(){} 这就是一个普通的方法。类里面的属性可以是常量,也可以是变量。
二、抽象类
关键字:abstract
抽象类定义方式:public abstract lass Student {}
抽象方法的定义方式:public abstract void study();
特点:抽象类里面的方法可是普通方法,也可以是抽象方法;属性可以是常量也可以是变量。在继承抽象类时,用的关键字是:extends,子类可以实现抽象类里面的任意一个方法。
三、接口
关键字:interface
接口类的定义方式:public interface Student{}
特点:接口里面的方法都是抽象方法;属性必须是常量,如:public static final String name="张三";;接口本身是不能直接实现自己的接口的,必须要通过它的实现类来实现接口类里面的所有接口,如:public Middle implements Student{} 这里继承接口的关键字用implements;注意:在继承接口类的时候,必须实现接口里面的所有接口,也就是里面的所有抽象方法
有时候我们在使用接口类的时候,只需要用到里面的个别方法,就拿鼠标监听MouseListener来说,我们可能只要用里面的public void mouseClicked(MouseEvent e) {}这个方法,如果我们直接继承MouseListener我们就得实现里面所有的方法,就有些代码冗余。所以在java中,每个接口都定义了一个适配器,也就是抽象类;如:public abstract MouseAdapter implements MouseListener{
public void mouseClicked(MouseEvent e){
}
public void mousePressed(MouseEvent e){
public void mousePressed(MouseEvent e){
}
public void mouseReleased(MouseEvent e){
public void mouseReleased(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
public void mouseExited(MouseEvent e){
}
}
这样我们只要继承MouseAdapter这个抽象类,我们就可以选用里面的方法,而不用全部实现。