Java的接口与抽象类
接口:
指明相关或者不相关类的多个对象的共同行为。
使用正确的接口,可以指明这些对象是可比较的、可食用的以及可克隆的。
接口名:interface
比如:
modifier interface InterfaceName{
/ ** 常量声明*/
/** 方法签名*/
}
在java中,接口被看作一种特殊的类。每一个接口都被编译为独立的字节码文件。
接口中所以的数据域都是public、static、final 而且所以的方法都是public abstract 。因Java允许忽略这些修饰符,因此,下面接口定义为等价:
public interface T{
public static final int k=1;
public abstract void p();
}
`
public interface T{
int k =1;
void p();
}
接口之间也可相互继承:
public interface 接口名 extends 父接口1,父接口2,...{}
抽象类:
抽象类必须使用abstract修饰符来修饰
生成方式:public+abstract+class+类名
public abstract class ClassName{内容}
抽象方法的声明格式为:
abstract void fun();
抽象类可以含零个或多个普通的方法,也可以含零个或多个抽象方法
抽象类和常规类很像,但不能使用new操作符创建它的实例。
抽象方法只有定义而没有实现。
它的实现由子类提供。一个包含抽象方法的类必须声明为抽象类。
抽象类的构造方法定义为protected,因为它只被子类使用。
当创建一个具体子类的实例时,它的父类的构造方法被调用以初始化父类中定义的数据域。