A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

     抽象类、接口

  1、抽象类与接口:
  抽象类是一种类,里面除了有抽象方法外,还可以有具体的方法;
  接口里面必须都是抽象的方法;
  在Java中,凡是声明为形如:abstract void function()的方法,都是抽象方法;
  包含抽象方法的类就是抽象类,抽象类中是可以没有抽象方法的;
  有抽象方法的类必须是抽象类;
  抽象类不一定有实体方法。
  2、继承:
  Java继承机制不允许多重继承类,但一个类允许实现多个接口
  继承抽象类时,必须重写其抽象方法;
  抽象类不能被声明为final类型的,因为加final关键字的类保证不能被继承,因此为抽象类加final关键字,这个类就没法用了。抽象类只能被继承,不能被实例化!
  声明为interface的类为接口,比抽象类更加抽象的一种机制。在接口中,我们不能提供任何实现,所有方法必须都是抽象的,可以不加abstract关键字,但是编译器对于接口中的方法,都是直接按抽象方法处理的。我们通过implements来实现某个接口。当我们实现某个接口时,必须重写其所有方法。
  3、总结一下抽象类与接口的区别和联系:
  a) 抽象类是类,可以有实体方法。
  b) 抽象类不能实现多继承,而接口可以。
  c) 如果需要创建不带任何方法定义和成员变量的基类,则使用接口,如果类中需要有部分具体的实现,则使用抽象类。
  d) 如果事先想要将某类设计为一个基类,那么首选接口。

1 个回复

倒序浏览
哈哈哈哈  自己的沙发
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马