由普通的类来实现接口,必须将接口所有抽象方法重写
由抽象类来实现接口,则接口的方法可根据需要选择是否重写。
继承实现接口的抽象类时,子类必须重写抽象类未实现的方法。
接口类:
package com.skd.abstractinterface; /** * @Description * @Author virgosnail * @Date 2018/12/12 21:22 */ public interface MyInterface { void say(); void speak(); void hi(); }
抽象类:
package com.skd.abstractinterface; /** * @Description * @Author virgosnail * @Date 2018/12/12 21:23 */ public abstract class MyAbstract implements MyInterface{ /** * 实现接口的抽象类可以选择重写接口方法也可以不重写接口方法 * * 下面这个例子就选择只重写了一个接口方法 */ @Override public void hi() { } }
继承抽象类的子类;
package com.skd.abstractinterface; /** * @Description * @Author virgosnail * @Date 2018/12/12 21:26 */ /** * 继承了实现接口的抽象类,必须实现抽象类未实现的方法 */ public class MyClass extends MyAbstract{ @Override public void say() { } @Override public void speak() { } }
PS:基础太差了,今天才知道