赞
踩
抽象类和接口都是为了解耦合的。
任何一个接口都有调用者和实现者。接口可以将调用者和实现者解耦合。
调用者面向接口调用。实现者面向接口实现。
项目开发的时候,一般都是将项目分离成一个模块一个模块的,模块和模块之间采用接口衔接,降低耦合度。
正常类内有成员,成员属性和成员方法
父类特点:
抽象类还是类
抽象类具体是方法变抽象了,方法没有方法体
没有方法体要使用abstract修饰
抽象方法必须放在抽象类中
抽象类是使用abstract修饰的类
抽象类中可以有正常方法
属性不能用抽象修饰,可以抽象类和方法
抽象类中可以有构造方法,但是不能创建对象
抽象类方法很抽象,只有方法签名(方法名)、没有方法体、没有方法执行。有构造方法但不能创对象。
子类特点:
子类可以继承抽象类
继承后必须实现 ( implement ) 父类 全部 抽象方法 否则自己类也要定义成抽象类(抽象类被继承,抽象方法必须重写)
抽象类用来抽象差异性,具体共同点。也就是将差异性方法抽象化,提供给子类使用。共同的方法具体化,所有子类继承。
把子类不同的方法抽象成抽象方法,每个子类都重写。
把子类都一样的方法提取到父类,每个子类直接用不用重写。
接口不是类
接口可以继承接口,并且可以多继承。 类不可以多继承。
接口中属性是常量,没有变量
默认被 public static final 修饰
接口中方法默认被 public abstract 修饰 ,即每个方法都是抽象方法
接口中不能有构造方法,不能创建对象
子类实现接口,要求重写全部抽象方法,否则要把子类定义为抽象类
类可以实现多个接口 (implements xxx , yyy)
类可以同时继承加实现,先继承再实现
- public class aaa extends bbb implements ccc, ddd{
- }
接口的概念:是一种能力和约定
接口的定义:代表了某种能力
方法的定义:能力的具体要求
用的时候和多态场景一样,
1、将方法的参数列表定义成接口类型,调用方法时传入子实现类
2、定义接口类型数组,向数组存储接口的实现类对象
不同点 | 抽象类 | 接口 |
修饰符 | abstract | interface |
是不是类 | 类 | 接口 |
属性 | 正常属性 | 没有属性,全是常量, 默认被public static final修饰 |
方法 | 可以有正常方法,也可以有抽象方法 | 全是抽象方法, 默认被public abstract修饰 |
构造方法 | 可以有,但不能创建对象 | 不能有 |
子类 | extends 抽象类,单继承 | implements 接口,多实现 |
| ||
相同点 |
|
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。