您的位置:首页 > 编程语言 > Java开发

JAVA.抽象类与接口的几个特点与异同

2016-03-28 21:45 302 查看
抽象

关键字:abstract

特点

1.抽象方法一定在抽象类中

2.抽象方法和抽象类都必须被abstract关键字修饰

3.抽象类不可以用new创建对象,因为抽象方法没有意义,创建抽象类对象会编译出错

4.抽象类如果被继承了,必须由子类复写起所有的抽象方法,建立子类

对象,如果子类只覆盖了部分抽象方法,那么子类还是一个抽象类。即子类如果不复写所有抽象方法,子类前面要加abstract。

5.抽象方法一定存在于抽象内中,但抽象类中不一定都是抽象方法

6.抽象类可以不定义任何抽象方法,那样做的意义就是不让该类建立对象

————————————————————

接口

关键字 interface 定义接口 implements 实现

1.接口中的成员都用默认的固定修饰符

常量:public static final

方法:public abstract

结构中的成员,都是被public修饰的

2.接口是不可以创建对象的,因为它的方法都是抽象的,没有实际意义的。

3.接口需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化。否则子类就是抽象类。

4.类与接口之间是实现,类与类之间是继承,接口与接口之间也是继承。

5.类在实现接口中的方法时,必须在方法前用public修饰,因为接口中的方法都是public修饰,覆盖时权限能大不能小。

6.类可以实现 多接口。因与继承不同的是,接口中的方法和变量都是抽象的,没有实际意义的,所以其中所有重名重复的属性都是相同的。

7.接口与接口之间可以多继承,理由同上

8.接口对于程序而言,能使程序拥有很强的扩展性

接口与抽象类的几个区别:

1.抽象类中不一定都是抽象方法,但接口中的变量和方法都一定是pubilc修饰的,抽象的

2.每个类只能继承一个抽象类,但能实现多个接口

3.接口和接口之间能多继承,而抽象类和抽象类之间只能单继承,因为可能存在非抽象方法,之间只能继承一个抽象类。

4.一般而言,抽象类中总结的是对象的 基本功能,就像人都会吃饭睡觉;而接口中总结的是 额外功能,就像不是每个人都会编java。

接口和抽象类的几个相同点:

1.之中都有抽象方法

2.都提升了程序的扩展性

3.都不能被创建对象

特点和异同有很多,小生只是列了几个比较重要或者明显的。

以上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: