抽象方法 public abstract void getPersonInfo();没有实现它的方法。
包含抽象方法得类。用abstract 实现。抽象类不可以被实例化,不可以new。
如果一个非抽象类继承了一个抽象类,那么这个类必须重新写抽象类的方法。
如果一个抽象类继承了一个抽象类,那么作为派生类的抽象类可以不实现基类的方法。
private abstract 不能同时出现。
访问权限高低顺序:public protect 包访问权限 private
重写方法时:派生类的访问权限大于等于基类的访问权限。
final修饰的方法和类不可以被修改和使用。
抽象类里面可以包含非抽象方法。
百度:类加载机制,双亲委派模型。
打印顺序:父类和子类静态代码块》》》父类的构造代码块》》父类的构造方法》》子类构造代码块》》子类的构造方法。
钩子方法 hook方法:
模板设计:
abstract class 类名{
public final void fun();
定义接口使用关键字interface 接口的名称使用I表示。接口里的定义方法默认为抽像方法。public abstract
public interface IMessage{
String Msg=" "
String getMsg();
}
接口内不能有已经实现的方法 即为抽象方法。
接口解决java单继承的问题。
接口不能进行实例化。 接口可以继承多个父类接口。 此时的接口拥有了继承接口里面的抽象方法。
如果一个抽象类继承了接口,那么抽象类当中可以不实现接口的方法。但是如果再有一个普通类继承此抽象类,那么普通类一定要实现接口和抽象类的方法。