一藐鹤、抽象類和接口
抽象類
抽象類是用來捕捉子類的通用特性的 抽兆。它不能被實例化,只能被用作子類的超類蹂安。抽象類是被用來創(chuàng)建繼承層級里子類的模板。
public abstract class AbstractClass {
private int num;
public abstract void getBookAbs();
public abstract void getNumAbs();
//普通方法
public void dogetCode(int num) {
this.num = num;
}
}
定義TestClass繼承抽象類
public class TestClass extends AbstractClass {
@Override
public void getBookAbs() {
dogetCode(3);
}
@Override
public void getNumAbs() {
}
}
接口
接口是抽象方法的集合锐帜。如果一個類實現(xiàn)了某個接口田盈,那么它就繼承了這個接口的抽象方法。這就像契約模式缴阎,如果實現(xiàn)了這個接口允瞧,那么就必須確保使用這些方法。接口只是一種形式蛮拔,接口自身不能做任何事情述暂。
public interface Inter {
public void getBookInter();
public void getNumInter();
public void getName();
}
定義ImplClass繼承接口,并實現(xiàn)其中所有的方法
public class ImplClass implements Inter {
@Override
public void getBookInter() {
}
@Override
public void getNumInter() {
}
@Override
public void getName() {
}
}
二建炫、實現(xiàn)接口中的部分方法
我們想實現(xiàn)一個接口畦韭,但是又不想具體的實現(xiàn)(當(dāng)然,如果一個類不是抽象類肛跌,要實現(xiàn)一個接口艺配,那必須要實現(xiàn)該接口里面的所有方法,如果是抽象類衍慎,那么不必實現(xiàn)接口里面的每一個方法)該接口里面的所有方法转唉,那么我們可以定義一個類,在該類內(nèi)實現(xiàn)那個接口里面的所有方法西饵,不過這個類里面的這些方法都是空方法酝掩,然后讓一個子類繼承該類,在有選擇性的具體的實現(xiàn)其中的某些方法眷柔,達(dá)到具體的實現(xiàn)與抽象方法分開的目的
1期虾、定義接口
public interface FinalTestInter {
public void methodFinal_1();
public void methodFinal_2();
}
2、定義類FinalTestClass實現(xiàn)FinalTestInter接口
/**
* @author SuTongsheng
* @create 2019/3/13
* @Describe
*/
public class FinalTestClass implements FinalTestInter {
@Override
public void methodFinal_1() {
}
@Override
public void methodFinal_2() {
}
}
3驯嘱、定義方法繼承實現(xiàn)類镶苞,重新部分方法
public class FinalTestClass_2 extends FinalTestClass {
@Override
public void methodFinal_1() {
super.methodFinal_1();
}
}