最后
由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》
public abstract class A {
public A(){}
public A(String s){}
public A(String s,int a){}
}
这种情况,子类可以不显示写构造方法,会隐式调用。
public class A1 extends A {
}
- 抽象类中只有有参构造方法
public abstract class A {
public A(String s){}
public A(String s,int a){}
}
这种情况,子类必须实现至少一个构造方法。且必须显示调用父类。并且super()必须放在构造方法的第一行。
其他:
这个问题是在使用SQLiteOpenHelper时注意到的。我写了一个子类继承它发现除了要实现抽象方法外,还强制必须重写构造方法,然后就想知道这种强制要求是如何实现的,最终发现是由关键字abstract控制。
另外,在重写的时候,还注意到:
只有三个构造方法,但SQLiteOpenHelper中有四个public构造方法,
在其中一个的注释中发现有 @hide 的标识,这个是不能重写的,但也会被调用到。影响倒是不大。
最后
由于篇幅限制,小编在此截出几张知识讲解的图解
战项目源码】](https://bbs.csdn.net/topics/618154847)收录**