Java实现接口中的部分方法
2019-03-13 本文已影响0人
大道至简_知易行难
一、抽象类和接口
抽象类
抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。
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() {
}
}
接口
接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。
public interface Inter {
public void getBookInter();
public void getNumInter();
public void getName();
}
定义ImplClass继承接口,并实现其中所有的方法
public class ImplClass implements Inter {
@Override
public void getBookInter() {
}
@Override
public void getNumInter() {
}
@Override
public void getName() {
}
}
二、实现接口中的部分方法
我们想实现一个接口,但是又不想具体的实现(当然,如果一个类不是抽象类,要实现一个接口,那必须要实现该接口里面的所有方法,如果是抽象类,那么不必实现接口里面的每一个方法)该接口里面的所有方法,那么我们可以定义一个类,在该类内实现那个接口里面的所有方法,不过这个类里面的这些方法都是空方法,然后让一个子类继承该类,在有选择性的具体的实现其中的某些方法,达到具体的实现与抽象方法分开的目的
1、定义接口
public interface FinalTestInter {
public void methodFinal_1();
public void methodFinal_2();
}
2、定义类FinalTestClass实现FinalTestInter接口
/**
* @author SuTongsheng
* @create 2019/3/13
* @Describe
*/
public class FinalTestClass implements FinalTestInter {
@Override
public void methodFinal_1() {
}
@Override
public void methodFinal_2() {
}
}
3、定义方法继承实现类,重新部分方法
public class FinalTestClass_2 extends FinalTestClass {
@Override
public void methodFinal_1() {
super.methodFinal_1();
}
}