抽象定义

抽象类为了继承而定义,主要是为了方便子类继承。所以抽象类不能作为子类。不能使用关键字new创建对象。

抽象方法和抽象类的关系是,如果一个类用abstract定义为抽象类,这个类可以拥有自己的方法,不必要有抽象方法。但是如果一个抽象方法存在,那么这个抽象方法所在的类必定要用abstract定义为抽象类。

静态方法不可声明为抽象,因为可以用抽象类的类名直接进行访问。

同样,final类与继承的定义不符,所以也不能定义为抽象

1
2
3
4
abstract class A{ //抽象类
abstract void f(){ //抽象方法
}
}

接口定义

接口的目的就是为了方便继承不同类的多个方法或者数据成员。

接口编码定义

使用关键字 interface 实现,接口是一个特殊的类,不能有自己的具体方法和变量。

1
2
3
4
interface A{
int NUM = 1; // 公用静态常量,关键字public final static 一般省略。
void fun(); // 公用抽象方法
}

与抽象类相似,不可以用new 创建对象

接口编码实现

使用关键字implements即可使用继承多个类.还可以用extends 继承父类

1
2
3
class D extends C implements A , B{

}

其中C是具体的父类,A,B都是接口

接口继承

一个接口可以继承多个接口

如下所示

1
2
3
4
5
6
7
8
interface A{
}
interface B{

}
interface C extends A,B{

}