抽象类
抽象类
使用abstract关键字定义的类称为抽象类
public abstract class Employee
{
private String name;
private int number;
}
在 Java中抽象类不可以实例化为对象。例如:
抽象方法
-
使用abstract关键字定义的方法称为抽象方法。抽象方法没有方法体
-
抽象方法只能定义在抽象类中。换句话说,只要类中有一个抽象方法,那这个类一定是抽象类。
public abstract class Employee//只要类中有一个抽象方法,那这个类一定是抽象类。
{
public abstract void work();//抽象方法
}
继承抽象类的子类,必须重写所有的抽象方法。否则,该子类也必须声明为抽象类。
接口
接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所有方法都没有方法体。
接口定义
接口使用 interface 关键字进行定义,其语法如下:
public interface Animal {//interface定义一个叫Animal的接口
//定义接口方法可省略 public abstract 关键字
void Bark();//接口里面声明了一个Bark()接口方法,但是没有方法体
}
- (1)在接口中,方法必须被定义为 public 或 abstract 形式,其他修饰权限不被 Java 编译器认可。或者说,即使不将该方法声明为 public 形式,它也是 public 形式。
- (2) 在接口中定义的任何字段都自动是 static 和 fianl 的。
接口实现
类使用implements关键字实现接口。在类声明中,implements关键字放在class声明后面。
接口的实现实际是接口方法的实现