精华内容
下载资源
问答
  • 接口和抽象类的区别是什么? 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。 Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于: 接口中所有的方法隐含...

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

    从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
    Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:
    接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。
    类可以实现很多个接口,但是只能继承一个抽象类
    类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。
    抽象类可以在不提供接口方法实现的情况下实现接口。
    Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。
    Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。
    接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的。
    也可以参考JDK8中抽象类和接口的区别。
    ---------------------
    作者:hopeplus
    来源:CSDN
    原文:https://blog.csdn.net/hope900/article/details/78647466?utm_source=copy
    版权声明:本文为博主原创文章,转载请附上博文链接!

    转载于:https://www.cnblogs.com/hplsharenote/p/9802957.html

    展开全文
  • [Java教程]接口和抽象类的区别是什么?0 2018-07-02 08:01:21接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认...

    [Java教程]接口和抽象类的区别是什么?

    0 2018-07-02 08:01:21

    接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final (这里需要说一点,既然一个变量被final修饰了,那么这个变量就是一个常量!!!!!变量必须初始化成常量!!!!!)

    下面比较一下两者的语法区别:

    1.抽象类可以有构造方法,接口中不能有构造方法。

    2.抽象类中可以有普通成员变量,接口中没有普通成员变量!!!!!!!(注意重点在 普通 即 非静态  和  变量!!!!)

    3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

    4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

    5. 抽象类中可以包含静态方法(static),接口中不能包含静态方法.

    6. 抽象类和接口中都可以包含静态成员变量(static),抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

    7. 一个类可以实现多个接口,但只能继承一个抽象类。 本文网址:http://www.shaoqun.com/a/353622.html

    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

    接口

    0

    展开全文
  • 接口和抽象类的区别是什么方法差异成员变量差异实现类实现数量差异实现类实现方法差异抽象概念差异 方法差异 接口方法默认为public,所有方法在接口中不能有实现(JDK8开始接口可以有默认方法) 抽象类中可以有非...

    方法差异

    1. 接口方法默认为public,所有方法在接口中不能有实现(JDK8开始接口可以有默认方法)
      抽象类中可以有非抽象方法

    成员变量差异

    1. 接口中的实例变量默认为final类型
      抽象类的实例变量不一定为final类型

    实现类实现数量差异

    1. 一个类可以实现多个接口
      一个类至多实现一个抽象类

    实现类实现方法差异

    1. 一个类实现接口要实现接口的所有方法
      一个类实现抽象类不一定要实现所有方法

    抽象概念差异

    1. 接口时对行为的抽象,是一种行为的规范
      抽象时对类的抽象,是一种模板设计

      			一个类实现了两个接口且两个接口中有同名默认方法,则必须重写改方法,否则会报错 
      
    展开全文
  • 接口和抽象类的区别是什么? 1.抽象类可以有构造方法,接口中不能有构造方法。 2.抽象类中可以有普通成员变量,接口中没有。 3.抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是...

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

    1.抽象类可以有构造方法,接口中不能有构造方法。
    2.抽象类中可以有普通成员变量,接口中没有。
    3.抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是public,并且默认为
    public abstract类型。
    4.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型。
    5.一个类可以实现多个接口,但只能继承一个抽象类

    抽象类:

    1.抽象方法:在返回值前面加上abstract关键字,然后去掉大括号,直接分号结束

    抽象类:抽象方法所在的类,必须是抽象类才行。在class之前加上abstract关键字。也可以有普通的成员方法。

    2.如何使用抽象类和抽象方法:

    不能直接创建new抽象类对象

    必须用一个子类来继承抽象父类

    子类必须覆盖重写抽象父类的所有的抽象方法。(去掉抽象方法的abstract关键字,然后补上方法体大括号)

    创建子类对象进行使用

    3.注意事项:

    抽象类不能创建对象,如果创建报错

    抽象类中,可以有构造方法,是供子类创建对象时,初始父类成员使用的。

    抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

    抽象类的子类,必须重写抽象父类的所有抽象方法,除非子类是一个抽象类

    接口:

    接口就是类的公共规范,是一种引用类型,最重要的内容就是抽象方法。

    java7;接口可以包含内容:

    常量,抽象方法

    常量:public static final 数据类型 常量名称=数据值;

    public static final int NUM=10
    

    接口中的常量必须赋值,否则报错。

    接口中的常量名称,使用完全大写的字母,用下划线分割。

    java8: 接口可以包含的内容:在java7基础上

    默认方法和静态方法

    默认方法:public default void method(){方法体}

    目的是为了应对接口升级的问题

    可以通过接口实现类对象,直接调用

    也可以被接口实现类进行覆盖重写。

    静态方法:public static 返回值 方法名称(){方法体}

    不能通过接口实现类的对象调用接口中的静态方法

    通过接口名称,直接调用其中的静态方法。

    java9: 接口可以包含的内容:在java8的基础上

    私有方法

    普通私有方法:解决多个默认方法之间重复代码问题

    静态私有方法;解决多个静态方法之间重复代码问题

    注意:

    1.接口不能有静态代码块,接口不能有构造方法

    2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口

    3.如果实现类中所实现的多个接口中,存在重复的抽象方法,那么只需要覆写一次即可

    4.如果实现类所实现的多个接口中,存在默认的重复的默认方法,那么实现就一定需要对默认方法进行覆盖重写

    5.一个类如果直接父类的方法,和接口的默认方法产生冲突,优先使用父类当中的方法。

    6.接口与接口之间是多继承的。

    展开全文
  • 接口和抽象类的区别是什么? 前言 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。 区别是什么? 接口中所有的方法隐含的都是抽象的,抽象类中的方法可以是抽象的也...
  • 接口和抽象类的区别是什么? •接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法。 •接口中的实例变量默认是 final 类型的,而抽象类中则...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,796
精华内容 1,118
关键字:

接口和抽象类的区别是什么