总结:抽象类的好处,使用接口也可以,子类需要实现其所有方法,就会发现多很多空的方法不必实现,这时就能体现到抽象类的好处,可以不重写 下面的代码可以复制到一个类中,更
总结:抽象类的好处,使用接口也可以,子类需要实现其所有方法,就会发现多很多空的方法不必实现,这时就能体现到抽象类的好处,可以不重写
下面的代码可以复制到一个类中,更直白提现
package abstractClass; /** * 抽象类跟接口在实际开发中的使用 * 接口:常用,实现类serviceImpl实现service接口,重写接口的所有方法(接口提供规范,规范其子类必须做什么) * 抽象类:非抽象类继承抽象类:不必需实现抽象类的抽象方法,也可以不重写非抽象方法 * 抽象类继承抽象类:必需实现抽象类的抽象方法,可以不重写非抽象方法(抽象类提供模板,约束子类应该做什么,那些不必须做) * todo 抽象类的好处,使用接口也可以,子类需要实现其所有方法,但发现多很多空的方法不必实现,这时就能体现到抽象类的好处,可以不重写 */ /** * 抽象类Abc */ public abstract class Abc { public abstract void a(); public void b(){}; } /** * 抽象类Def继承抽象类Abc 不必需实现抽象类的抽象方法 */ abstract class Def extends Abc { public abstract void c(); public void d(){}; } /** * 类A继承抽象类Def,必须重写:Def的抽象方法跟Abc的抽象方法 */ class A extends Def{ @Override public void a() { } @Override public void c() { } } /** * 类B继承抽象类Abc,必须重写:Abc的抽象方法,也可以重写非抽象方法 */ class B extends Abc{ @Override public void a() { } @Override public void b() { } }