接口、抽象类和类之间的关系
2017-08-07 20:01
351 查看
仅能继承单个父类;可以实现多个接口。这是Java实现其多态性的重要手段,也涵盖了接口、抽象类和类之间的关系
接口的属性有字段和方法组成,没有构造函数的原因:接口是用来被子类继承实现多态性的,是不能被实例化的
1. 属性:仅能被public、static、final修饰,不能被private、protected、volatle、transient、strictfp和synchronized修饰
2. 在方法的定义上JDK1.7和JDK1.8有了很大的区别
- JDK1.7:接口中的方法必须全部为抽象方法,此时的接口可以看成特殊的抽象类
接口中抽象方法的定义:
- JDK1.8:相比较与JDK1.7有了两点最大的改变(全部基于可以定义代码实现的方法)
可以定义多个静态非抽象的方法
可以定义多个默认方法
Tip:JDK1.8,接口的方法必须全部是public修饰的,static、abstract、default修饰专门的方法,不能混合使用
2.类
类的属性由字段、方法、构造函数、代码块和静态代码块组成
1. 字段
2. 方法
3. 构造函数
4.代码块,定义在类内部,方法外;实例被创建的时候,代码被执行
5.静态代码块,定义在类内部,方法外;类被加载的时候,代码被执行
3.抽象类
抽象类的属性主要由字段、方法、构造函数、代码块和静态代码块组成。
抽象类的属性大致和类的定义规则是一样的,除了方法,抽象类的方法允许定义抽象方法(没有代码实现的方法)
- 类可实现多个接口
2.接口和抽象类
- 抽象类也可使实现多个接口
- 抽象类最大的好处就是可以实现多个接口,但不必实现全部的接口方法,在做模块化设计的时候很有用
3.抽象类和类
- 类只能继承一个抽象类,类只能继承一个抽象类
- 比较特殊的是超类Object,Java中所有的类都继承与此类,我们可以重写(@Override)Object的方法
4.接口和接口
- 接口可以继承多个接口,用逗号隔开,接口实现类必须实现所有接口的方法
- 从另外一个角度解决了类的单继承的问题
Tip:各个阶段的理解可能不一样,后续会更改和补充
基本特性
1.接口接口的属性有字段和方法组成,没有构造函数的原因:接口是用来被子类继承实现多态性的,是不能被实例化的
1. 属性:仅能被public、static、final修饰,不能被private、protected、volatle、transient、strictfp和synchronized修饰
2. 在方法的定义上JDK1.7和JDK1.8有了很大的区别
- JDK1.7:接口中的方法必须全部为抽象方法,此时的接口可以看成特殊的抽象类
接口中抽象方法的定义:
//和抽象类中抽象方法允许public和protected修饰不同,接口中的抽象方法仅允许public修饰 //protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部 //class,protected就变成private,不符合接口开放设计原则 public abstract void method();
- JDK1.8:相比较与JDK1.7有了两点最大的改变(全部基于可以定义代码实现的方法)
可以定义多个静态非抽象的方法
//修饰符同样只需要public public static void method(){ //do something }
可以定义多个默认方法
//必须default关键字进行修饰 public default void method(){ //do something }
Tip:JDK1.8,接口的方法必须全部是public修饰的,static、abstract、default修饰专门的方法,不能混合使用
2.类
类的属性由字段、方法、构造函数、代码块和静态代码块组成
1. 字段
public static final String field = "this is field property";
2. 方法
public void method(){ //do something }
3. 构造函数
public Constructor(){ //do something }
4.代码块,定义在类内部,方法外;实例被创建的时候,代码被执行
{ //do something }
5.静态代码块,定义在类内部,方法外;类被加载的时候,代码被执行
static{ //do something }
3.抽象类
抽象类的属性主要由字段、方法、构造函数、代码块和静态代码块组成。
抽象类的属性大致和类的定义规则是一样的,除了方法,抽象类的方法允许定义抽象方法(没有代码实现的方法)
//abstract关键字是定义抽象类和定义抽象方法的标识 //抽象方法只允许用可见的修饰符public和protected修饰 public abstract void method();
关系
1.接口和类- 类可实现多个接口
2.接口和抽象类
- 抽象类也可使实现多个接口
- 抽象类最大的好处就是可以实现多个接口,但不必实现全部的接口方法,在做模块化设计的时候很有用
3.抽象类和类
- 类只能继承一个抽象类,类只能继承一个抽象类
- 比较特殊的是超类Object,Java中所有的类都继承与此类,我们可以重写(@Override)Object的方法
4.接口和接口
- 接口可以继承多个接口,用逗号隔开,接口实现类必须实现所有接口的方法
- 从另外一个角度解决了类的单继承的问题
Tip:各个阶段的理解可能不一样,后续会更改和补充
相关文章推荐
- 接口、抽象类、继承、实现的定义及它们之间的关系
- java 中实体类,接口,抽象类之间的关系总结
- 类、抽象类、接口和继承之间的关系
- 接口之间继承、抽象类普通类继承关系总结 (
- 类、抽象类、接口之间的关系
- C#关于类抽象类和接口之间的关系(Abstract)(Interface)
- 抽象类和接口之间的关系
- 抽象类与接口之间的关系
- 抽象类与接口之间的关系
- 抽象类与接口之间的继承和实现关系
- 类、抽象类、接口之间的关系
- 抽象类与接口之间的继承和实现关系
- java中抽象类和接口之间的区别和关系
- java 中实体类,接口,抽象类之间的关系总结
- java(未检出20130729) String、StringBuffer、类与类之间关系:依赖关系Use-a、.聚合关系has-a、组合继承(“is-a”)、抽象类、接口
- java 接口、抽象类、具体类、内部类、匿名内部类的区别及它们之间的关系
- 继承,抽象,接口之间的关系和区别
- 抽象类、接口、实体类之间的联系
- 类(class),抽象类(abstract), 接口(interface)的关系和区别
- 接口和抽象类之间的区别