标签:成员 jdk loading 抽象类 inf abstract 默认 成员变量 strong
抽象类:
①抽象类中不一定有抽象方法,但是有抽象方法一定是抽象类
②抽象类不可以被实例化(new),但是可以通过实例化子类的时候调用,会优先初始化父类,从而对抽象类中的成员变量进行赋值,调用其普通方法。
③抽象方法只能声明,不可以包含方法体。
④构造方法、类方法(被static修饰的方法)不可以声明为抽象方法。
⑤抽象类只能被继承。实例化子类必须把抽象类中的抽象方法都实现。子类被定义为抽象类就可以不实现。
小结:抽象类与普通类差别不大,只是不能够实例化,被继承的时候其变量的赋值、普通方法的调用都差不多。
接口:
①默认的修饰符为是public。
②常量:public static final 修饰,不写也是。
③方法:接口中的方法只能是:public abstract。省略的话,也是public abstract。jdk1.8之后,default、static修饰的方法,才可以有方法体。
④接口不能创建实例,但是可用于声明引用变量类型。
小结:接口其实是一种特殊的抽象类,接口中的方法都为抽象方法,除了jdk1.8中新加的static、default修饰的方法。常量都为静态不可以变的。
参考链接:https://www.jianshu.com/p/93d701282bd9
标签:成员 jdk loading 抽象类 inf abstract 默认 成员变量 strong
原文地址:https://www.cnblogs.com/mengxi618/p/13256449.html