Java抽象類和接口小記
- Java抽象類和接口實(shí)現(xiàn)了java的多態(tài).多態(tài)是面向?qū)ο蟪绦蛘Z言的核心,在項(xiàng)目開發(fā)過程中,其實(shí)很少使用抽象類,接口用得比較多,今天小記一下抽象類和接口的區(qū)別.
- 抽象類
/*
* 抽象類不能被實(shí)例化
* 抽象類可以繼承
* 可以定義變量
* 可以定義構(gòu)造方法
* 抽象方法的abstract要顯式的寫出來
* 其子類必須實(shí)現(xiàn)抽象類的所有抽象方法
*/
abstract class ab extends Object{
int a = 0;
public ab() {
}
public abstract void f();
}
- 總結(jié):抽象類和普通類的差別是,不能被實(shí)例化,可以定義抽象方法,但子類必須實(shí)現(xiàn)
- 接口
/**
* 可以用extends繼承其它接口
* 只能定義常量,不能定義變量
* 不能定義構(gòu)造方法
* 方法全是抽象方法
* 實(shí)現(xiàn)類必須實(shí)現(xiàn)其所有抽象方法
*/
interface In {
public int a=0;
public void a();
public void b();
}
2.1 接口的實(shí)現(xiàn)
class InImpl implements In{
@Override
public void a() {
}
@Override
public void b() {
}
}
- 總結(jié):接口比抽象類更抽象,只能定義抽象方法,也只能定義常量,不能定義構(gòu)造方法.想想也是,接口定義的是一種規(guī)范.在工業(yè)上,接口定義不就是插槽的基本參數(shù)和技術(shù)規(guī)范嗎?因此接口稱之為接口果然名副其實(shí).