黑马程序员技术交流社区

标题: 抽象类与接口的区别 [打印本页]

作者: 时间多一点    时间: 2015-12-13 21:57
标题: 抽象类与接口的区别
不太了解 各位大神帮帮忙
尽量详细点  谢谢各位了
作者: 孤独成瘾    时间: 2015-12-13 22:20
使用abstract关键字修饰的类为抽象类,抽象类不能被实例化,若一个抽象类中的所有方法都是抽象的,可以将这个类用另一种方式来定义,即接口,定义接口时,需要用interface关键字來声明
作者: 隔壁老猫    时间: 2015-12-13 22:45
我也是今天刚学习这些内容, 来看看
作者: xiaobei56    时间: 2015-12-13 22:54
有几点区别啊:
    成员变量  抽象类:可以是常量 也可以是变量
               接口: 只能是常量 public static final
     构造方法: 抽象类有构造
               接口没有构造
     成员方法  抽象类可以使抽象的,可以是非抽象的
               接口必须是抽象,也只能是抽象 public abstract
     类只能单继承,j接口可以多继承或实现

希望对你有帮助
作者: 队长别开枪是我    时间: 2015-12-13 23:38
需要注意,虽然接口的描述是如果一个类中所有的方法都是抽象的那就可以把这个类定义成接口,但是接口实际上并不是一个类,本身也没有构造函数,抽象类中有构造函数,但是不能被实例化,剩下的成员变量和成员方法的区别,看楼上的就好了~
作者: 孙志明    时间: 2015-12-14 17:39
接口:初期理解,可以认为是特殊的抽象类
        当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示
        class 用于定义类
        interface用于定义接口
接口在定义时:格式特点:
接口中常见定义:常量,抽象方法
接口中的成员都有固定的修饰符
常量:public static final
方法:public abstract
接口是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象方法全部覆盖,子类才可以实例化。
否则子类是一个抽象类
类与类之间是:继承关系extends
接口与接口之间是实现的关系implements




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