接口和抽象-Java面试题

Time:2015/02/09 21:29:57   Click:

接口和抽象类有什么不同?

Java同时提供和支持抽象类和接口,它们的实现有一些共同的特点,也有如下不同:

  • 接口中所有的方法默认都是抽象的,而抽象类可以同时包含抽象和非抽象的方法。

  • 一个类可以实现多个接口,但它只能继承一个抽象类。

  • 一个类要实现某个接口,必须实现这个接口声明的所有方法。而一个类不需要实现抽象父类中声明的所有方法,不过,这时候这个类也必须声明为抽象类。

  • 抽象类可以实现接口,而且不需要实现接口中的方法。

  • 接口中声明的变量默认是final的,而抽象类可以包含非final的变量。

  • 接口中的成员默认是public的,而抽象类的成员可以是private,protected,或public的。

  • 接口是绝对抽象的,不可实例化,抽象类也不可以实例化,但可以在main方法中触发实例化(注:通过匿名类实现)。

TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络
40f13d50b73e104f832ed1b719ae6935