抽象类:
- 继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类
- 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
- 抽象类中,不一定包含抽象方法(可以有普通方法),但是有抽象方法的类必定是抽象类
- 抽象类的抽象方法主要作为模板使用
- 不能创建对象
多态
- 继承父类或者实现接口【二选一】、
- 方法的重写,这个方法是父类中声明,子类中重写的方法【意义体现:不重写,无意义】
- 父类引用指向子类对象【格式体现】
接口
- 公共的静态的常量:其中public static final可以省略
- 公共的抽象的方法:其中public abstract可以省略
- 公共的默认的方法:其中public 可以省略,建议保留
- 公共的静态的方法:其中public 可以省略,建议保留
- 不能创建对象
- 接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰。
- 接口中,没有构造方法,不能创建对象。
- 接口中,没有静态代码块。
类实现接口:
- 必须重写接口中所有抽象方法。
- 继承了接口的默认方法,即可以直接调用,也可以重写。重写时,default单词就不要再写了
- 不能重写静态方法
- 于接口的抽象方法、默认方法,通过实现类对象就可以调用
- 但是对于静态方法,必须使用接口名才能调用。
冲突:
- 当一个类,既继承一个父类,又实现若干个接口时,父类中的成员方法与接口中的抽象方法重名,子类就近选择执行父类的成员方法
- 一个类同时实现了多个接口,而多个接口中包含方法签名相同的默认方法时,通过“接口名.super.方法名"的方法选择保留哪个接口的默认方法
接口多继承:
- 子接口重写默认方法时,default关键字可以保留。
- 类重写默认方法时,default关键字不可以保留。
本文为原创文章,转载请标明出处
posted @
2021-03-17 14:37
亚洲哈登
阅读(
53)
评论()
编辑
收藏
举报