一、接口没有构造方法
二、子类继承父类会先构造父类再构造子类
例子代码
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 method
this is commsuper method
this is commSub method
特别注意最后的方法调用,会直接执行多态中Override 后子类的方法。Override 会在很多的框架中用到,特别是IOC 反转调用时,用父类访问子类
五、Override 与 Overload 的区别
Override 是继承过程中体现的,是子类实现父类方法
OverLoad 是本类体现的,共同的方法名,不同的参数