接口中的方法只要有实现类,一定会被实现,父类中的方法可以选择重写,抽象的方法一定会被重写
再看java 的代码的时候,看到那么多接口和extends ,想了一下什么时候使用接口,什么时候使用实现。
如果是要实现某个具体的功能,使用implement, 如果是再上一个类的基础上可以 使用extends 。。
抽象类implements 某个接口,不要求实现,接口中的方法。 但是抽象类的抽象方法一定会被子类实现。
public interface Top { void top(); }
public interface Middle extends Top { void middle(); }
public abstract class Bottom implements Middle{ abstract void bottom(); }
public class Mini extends Bottom{ public static void main(String[] args) { ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1000, 1000,10, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } @Override public void middle() { } @Override public void top() { } @Override void bottom() { } }
上面是写的demo,可以看到 由于Bottom 是抽象类,没有实现 接口中的方法,它的子类,就要实现接口中的方法,同时它的抽象方法也需要被重写。