一、接口没有构造方法
二、子类继承父类会先构造父类再构造子类
例子代码
1、抽象父类
import java.sql.*;public abstract class AbstractSuper { public AbstractSuper(){ System.out.println("抽象父类的方法"); } public abstract void AbstractMethod() throws SQLException;}
2、继承子类
public class AbstractSub extends AbstractSuper{ public void AbstractMethod(){ System.out.println("现实了父类抽象类的抽象方法!"); } public AbstractSub(){ System.out.println("子类"); } public static void main(String[] arg){ AbstractSub sub = new AbstractSub(); sub.AbstractMethod(); }}
运行子类的main 结果是:
抽象父类的方法子类现实了父类抽象类的抽象方法!
三、子类实现抽象父类(抽象类、接口)的方法要看的参数有
1、返回类型
2、方法名
3、方法参数的数量与类型
而不看后边的throws 什么异常
四、Override 的特点
1、Override 一般是为了实现多态。子类继承父类或者接口时用到
看下面的例子
父类
public class CommSuper { public void superMethod(){ System.out.println("this is commsuper method"); }}
子类
public class CommSub extends CommSuper{ public void superMethod(){ System.out.println("this is commSub method"); } public static void main(String[] arg){ CommSub sub = new CommSub(); sub.superMethod(); CommSuper sup = new CommSuper(); sup.superMethod(); //调用的是多态类子类的实现方法 CommSuper subSup = new CommSub(); subSup.superMethod(); }}
最后运行 main 方法的结果是:
this is commSub methodthis is commsuper methodthis is commSub method
特别注意最后的方法调用,会直接执行多态中Override 后子类的方法。Override 会在很多的框架中用到,特别是IOC 反转调用时,用父类访问子类
五、Override 与 Overload 的区别
Override 是继承过程中体现的,是子类实现父类方法
OverLoad 是本类体现的,共同的方法名,不同的参数