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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王杰123 中级黑马   /  2013-3-29 16:25  /  1717 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王杰123 于 2013-4-1 12:21 编辑

有抽象类,接口,最终类,说明一下他们各自的定义和特点?

点评

 建议你可以去19届交流区发帖;如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-30 17:31

3 个回复

倒序浏览
1.接口(interface):接口被用来建立类与类之间关联的标准。接口是公开(public)的,里面不能有私有的方法或变量,是用于让别人使用的,实现接口的一定要实现接口里定义的所有方法。一个类却可以实现多个interface(java中实现多重继承的方法之一)。接口中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),而且所有的成员方法都是抽象的。
2.抽象类(abstract class):只要类中有一个抽象方法,此类就被标记为抽象类。实际上抽象类除了被继承之外没有任何意义。象类是可以有私有方法或私有变量的,实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法。抽象类在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。抽象类中可以有自己的数据成员,也可以有非abstarct的成员方法。
3.最终类:使用final声明的类称为最终类,最终类不能被继承。即不能声明最终类的子类。  使用final声明成员方法称为最终方法,最终方法不能被子类覆盖。 最终类可以不包含最终方法,非最终类可以包含最终方法。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
抽象类就是定义了抽象方法的类,要使用该类的方法子类必须覆盖其方法才能给对象初始化。抽象方法是经过不断向上抽取定义的不同类的共性的方法,但该方法中具体的对象要怎么做不确定,例如
  1. class Person
  2. {
  3.     pulic void DoSomething();
  4. }
  5. class Student extends Person
  6. {
  7.    public void DoSomething()
  8.     {
  9.         //学生做的事情
  10.      }
  11. }
  12. class worker extends Person
  13. {
  14.    public void DoSomething()
  15.     {
  16.         //工人做的是事情
  17.      }
  18. }
复制代码
接口:我觉的可以看成是一个抽象类,一个子类类实现接口,只有当子类对接口中的抽象方法全都覆盖后,子类才可以实例化。接口支持多实现,就是一个类可以实现多个接口。

最终类:就是被final修饰的类,1.最终类不可以被继承,2.被final修饰的方法不可以被复写 3.被final修饰的变量是一个常量只能赋值一次

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
抽象类,使部分抽象,它是可以带有一些有方法体的方法的接口,
的所有方法都是抽象的抽象类是模板,接口是规范。
最终类用final修饰,不能被其他类继承!

评分

参与人数 1技术分 +1 收起 理由
scott0610 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马