黑马程序员技术交流社区

标题: 子父类继承与接口有什么区别? [打印本页]

作者: 橸瑩膤漃寞林    时间: 2014-3-22 15:29
标题: 子父类继承与接口有什么区别?
本帖最后由 橸瑩膤漃寞林 于 2014-3-22 19:14 编辑

子父类继承与接口有什么区别?都弄不清楚了。
作者: syusikoku    时间: 2014-3-22 16:49
子父类实现继承可以继承到父类中的方法。而接口我们再实现的时候,要实现接口中的抽象的方法。
作者: syusikoku    时间: 2014-3-22 16:50
子父类中子类也可以覆盖父类中的方法
作者: 李猛    时间: 2014-3-22 16:53
继承只能单继,承继承的关键字extends,接口其实就是继承的延伸,关键字是implements,接口的实现可以是多个的,接口中的方法是抽象的,里面的成员变量都是静态的而且都被final修饰,值是不可变得,你可以认为是常量,里面的方法都是抽象的,就是有public abstract修饰的,当然默认可以不写的,但是继承后复写的时候必须加上。
作者: love~陌    时间: 2014-3-22 19:07
子类继承父类,父类是子类的共性功能的抽取,比如Person中有性别,年龄等属性,Student可以继承Person的这些属性,然后添加自己特有的属性。
Java中只允许单继承,但是可以多层继承,比如B继承了A,C继承了B等等,而实现弥补了Java单继承的缺陷,因为Java中允许多实现。接口是一种特殊的抽象类。
希望这些对你有帮助
作者: Up↑Lee↗    时间: 2014-3-22 19:18
继承:1)提高了代码的复用性。2)让类与类之间产生了关系。另外:注意:千万不要为了获取其他类的功能,简化代码而继承。
必须是类与类之间有所属关系才可以继承。所属关系is a 同时继承还会出现重写。
接口:初期理解,可以认为是一个特殊的抽象类        当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。接口:是不可以创建对象的,因为有抽象方法。需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。否则子类是一个抽象类。 接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。多继承不支持是因为父类中的方法体重复,是子类在继承时发生问题;(一个类只能继承一个父类)(只有在接口之间可以多继承)所属关系是like a


作者: 赵彦丰    时间: 2014-3-22 19:33
分别:继承、只能继承一个类,接口则可以实现多个接口,也是对多继承不支持的转换形式。java支持多实现
由于java中一个类不能继承多个父类,而这个类又需要多种属性,这个时候就可以用接口了。比

如说我写一个类:
  1. public class Test extends Jfranme
  2. {
  3. }
复制代码


但是你又想用这个类实现多线程技术,这个时候就不能让他再机型继承Thread类了 。但是你可

以这样:
  1. public class Test extends Jframe implerments Runnable
  2. {}
复制代码

这样你就即拥有了 Jframe的属性和方法了,而且也可以用这个类使用多线程技术

作者: 老金vic    时间: 2014-3-22 21:18
抽象类用abstract class定义, 接口用interface定义
                1、抽象类中可以有不抽象的方法, 接口中所有方法都是抽象的
                2、抽象类用extends继承, 接口使用implements实现
                3、抽象类中的方法没有默认修饰符, 接口中的方法默认是被public abstract修饰的
                4、一个类只能继承一个抽象类, 但是可以实现多个接口
次外 在定义一个类的时候, 如果需要定义抽象方法, 那么就需要使用抽象类或接口.如果该类中含有普通方法(不抽象的), 那么就只能使用抽象类.




作者: 何伟超    时间: 2014-3-22 23:28
接口就是抽象的类,类只能单继承 ,当类中所有方法都是抽象的时候就是接口了。就可以多继承了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2