Java抽象与接口定义同异

抽象类概述
1. 抽象类中油构造函数吗?
有,用于给子类对象进行初始化
2.抽象类可以不定义抽象方法吗?
可以的,但是很少见,目的就是不让该类创建对象,AWT的适配器对象就是这种类型
通常这个类中的方法有方法体,但却没有内容
3. 抽象关键字不可以和哪些关键字共存?
private 不行
static 不行
final 不行
4. 抽象类和一般类的异同点:
相同点:
抽象类和一般类都是用来描述事物的,都在内部定了成员。
不同:
1. 一般类有足够的信息描述事物
抽象类描述事物的信息可能不足
2. 一般类中不能定义抽象方法,只能定非抽象方法,
抽象类中可定义抽象方法,同时也可以定义非抽象方法
3.一般类可以被实例化
抽象类不可以被实例化


方法重载和方法重写在英语中分别是overload和override
区别是:
重载主要发生在同一个类的多个同名方法之间
重写发生在子类和父类的同名方法之间


接口特点:
1. 接口对外暴露的规则
2. 接口是程序功能扩展
3. 接口的出现降低耦合性
4. 接口可以用来多实现
5. 类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
6. 接口与接口之间可以有继承关系
对于接口当中常见的成员,而且这些成员都有固定的修饰符:
1. 全局常量:public  static final
2. 抽象方法: public abstract
由此得出结论,接口中的成员都是公共权限
3. 接口不可以实例化
只能有时限了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化
否则,这个子类就是一个抽象类


接口与抽象区别:
相同点:
1. 都是不断向上抽取而来
不同点:
1. 抽象类需要被继承,而且只能单继承
接口需要被实现,而且可以多实现
2. 抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用费抽象方法
接口中只能定义抽象方法,必须有子类去实现。
3. 抽象类的集成,是is a 关系,在定义该体系的基本共性内容。
接口的实现是like a 关系,在定义系额外功能

猜你喜欢

转载自blog.csdn.net/nielinqi520/article/details/79236942