参考答案和解析
正确答案: 接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
更多“接口和抽象类的区别是什么?”相关问题
  • 第1题:

    What’s the difference between an interface and abstract class?

    (接口与抽象类有什么区别)


    正确答案:
     

  • 第2题:

    10 接口和抽象类的区别?


    正确答案:

     

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行

    为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以

    创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态

    方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,

    在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

      接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的

    接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量

    。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即

    将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。

    由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类

    型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

  • 第3题:

    接口是否可继承接口。抽象类是否可实现(implements)接口。抽象类是否可继承具体(concreteclass)。抽象类中是否可以有静态的main方法。


    正确答案: 接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承具体类。抽象类中可以有静态的main方法。
    备注:只要明白了接口和抽象类的本质和作用,这些问题都很好回答,你想想,如果你是java语言的设计者,你是否会提供这样的支持,如果不提供的话,有什么理由吗?如果你没有道理不提供,那答案就是肯定的了。
    只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。

  • 第4题:

    关于抽象类和接口的对比分析,正确的有()

    • A、接口和抽象类都可以只声明方法而不实现
    • B、抽象类可以定义常量,而接口不能
    • C、抽象类可以实现具体的方法,而接口不能
    • D、抽象类可以声明属性,而接口不能

    正确答案:A,C,D

  • 第5题:

    下列关于接口和抽象类的说法不正确的是?()

    • A、接口也有构造方法
    • B、实现接口时,需对接口中的所有方法都要实现
    • C、抽象类也有构造方法
    • D、抽象类可以派生出子类

    正确答案:A

  • 第6题:

    关于接口、抽象类和普通类,下列说法错误的是()

    • A、抽象类可以有抽象方法而普通类则不能有抽象方法
    • B、抽象类的方法可以有部分实现而接口不能实现其方法
    • C、普通类可以在实现多个接口的同时继承一个抽象类
    • D、接口不能定义变量

    正确答案:D

  • 第7题:

    简述抽象类和接口有何异同。


    正确答案: 相同点:
    (1)都可以被继承(2)都不能被实例化(3)都可以包含方法声明(4)派生类必须实现未实现的方法
    区别:(1)抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。(2)抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。”
    (3)接口可以被多重实现,抽象类只能被单一继承(4)抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中(5)抽象类是从一系列相关对象中抽象出来的概念,因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定,
    因此反映的是事物的外部特性(6)接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法(7)接口可以用于支持回调,而继承并不具备这个特点(8)抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的(9)如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法

  • 第8题:

    接口与抽象类的区别有哪些?


    正确答案:接口和抽象类非常相似。接口是一种特殊的类,但接口与类存在着本质的区别。抽象类有成员变量和成员方法,而接口却只有常量和抽象方法。

  • 第9题:

    单选题
    下列关于接口和抽象类的说法不正确的是?()
    A

    接口也有构造方法

    B

    实现接口时,需对接口中的所有方法都要实现

    C

    抽象类也有构造方法

    D

    抽象类可以派生出子类


    正确答案: D
    解析: 暂无解析

  • 第10题:

    问答题
    接口是否可继承接口。抽象类是否可实现(implements)接口。抽象类是否可继承具体(concreteclass)。抽象类中是否可以有静态的main方法。

    正确答案: 接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承具体类。抽象类中可以有静态的main方法。
    备注:只要明白了接口和抽象类的本质和作用,这些问题都很好回答,你想想,如果你是java语言的设计者,你是否会提供这样的支持,如果不提供的话,有什么理由吗?如果你没有道理不提供,那答案就是肯定的了。
    只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。
    解析: 暂无解析

  • 第11题:

    问答题
    接口与抽象类的区别有哪些?

    正确答案: 接口和抽象类非常相似。接口是一种特殊的类,但接口与类存在着本质的区别。抽象类有成员变量和成员方法,而接口却只有常量和抽象方法。
    解析: 暂无解析

  • 第12题:

    单选题
    关于接口、抽象类和普通类,下列说法错误的是()
    A

    抽象类可以有抽象方法而普通类则不能有抽象方法

    B

    抽象类的方法可以有部分实现而接口不能实现其方法

    C

    普通类可以在实现多个接口的同时继承一个抽象类

    D

    接口不能定义变量


    正确答案: C
    解析: 暂无解析

  • 第13题:

    java 中抽象类和接口的五点区别?


    正确答案:
    1.一个类可以实现多个接口 ,但却只能继承最多一个抽象类。
    2.抽象类可以包含具体的方法 , 接口的所有方法都是抽象的。
    3.抽象类可以声明和使用字段 ,接口则不能,但接口可以创建静态的final常量。
    4.接口的方法都是public的,抽象类的方法可以是public,protected,private或者默认的package。
    5.抽象类可以定义构造函数,接口却不能。

  • 第14题:

    接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?抽象类中是否可以有静态的main方法?

     


    1.接口可以继承接口..但是要使用extends~而不是用implements
    如:interface a{}
    interface b extends a{}

    2.抽象类可以实现接口..
    比如java.util中的AbstractCollection类就是实现的Collection接口

    3.抽象类可以继承实体类

    下面这段执行无误的代码说明的所有的问题:
    interface MyInterface {

    }

    interface AnotherInterface extends MyInterface {

    }

    class EntityClass {

    }

    abstract class AbstractClass extends EntityClass implements MyInterface {

    }

    抽象类中不可以有静态的main方法。

  • 第15题:

    以下四条接口与抽象类的对比分析,哪条是错误的?()

    • A、接口和抽象类都可以只声明方法而不实现它
    • B、抽象类可以定义类常量,而接口不能
    • C、抽象类可以实现具体的方法,而接口不能
    • D、抽象类可以声明属性,而接口不能

    正确答案:B

  • 第16题:

    说明抽象类和接口的异同。


    正确答案: 抽象类和接口都是需要被继承/实现,自己不能直接创建对象。
    不同,
    1 抽象类中能写实现,接口不能写实现;
    2 一个类只能继承一个抽象类,但是能实现多个接口

  • 第17题:

    什么是接口?接口起什么作用?接口与抽象类有何区别?


    正确答案:J.ava中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
    作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。
    与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。

  • 第18题:

    接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?


    正确答案: 接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。

  • 第19题:

    接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)?


    正确答案: 1、接口不可继承接口。接口是要被实现而不是被继承的,加入你用词不当,问接口是否可实现接口,答案仍然是不能,因为接口里面的方法必须全部是抽象方法,接口A实现了接口B,那么A就要重写B的抽象方法,重写了之后,A的性质也就不是接口A了,变成了抽象类A。
    2、抽象类可实现接口。
    3、抽象类可继承实体类。

  • 第20题:

    下面有关java 抽象类和接口的区别,说法错误的是()。

    • A、抽象类可以有构造方法,接口中不能有构造方法
    • B、抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法
    • C、一个类可以实现多个接口,但只能继承一个抽象类
    • D、接口中可以有普通成员变量,抽象类中没有普通成员变量

    正确答案:D

  • 第21题:

    问答题
    什么是接口?接口起什么作用?接口与抽象类有何区别?

    正确答案: J.ava中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
    作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。
    与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。
    解析: 暂无解析

  • 第22题:

    单选题
    以下四条接口与抽象类的对比分析,哪条是错误的?()
    A

    接口和抽象类都可以只声明方法而不实现它

    B

    抽象类可以定义类常量,而接口不能

    C

    抽象类可以实现具体的方法,而接口不能

    D

    抽象类可以声明属性,而接口不能


    正确答案: C
    解析: 暂无解析

  • 第23题:

    问答题
    接口和抽象类的区别是什么?

    正确答案: 接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
    解析: 暂无解析