美文网首页Java基础以及Java相关面试内容
Java基础与面试系列之一接口与抽象类的区别

Java基础与面试系列之一接口与抽象类的区别

作者: NetCedar | 来源:发表于2018-10-14 16:54 被阅读0次

    接口与抽象类的区别主要在变量和成员方法的区别
    在JDK1.7版本中
    接口
       1.成员变量
           只能是常量,默认修饰为:public static final

       2.成员方法
           都是抽象的,默认修饰 public abstract;没有构造方法

    抽象类
       1.成员变量
           因为抽象类需要被继承,所有成员属性不能为private,即对成员属性可以用protected和public修饰,同时,成员变量即可以为变量,也可以为常量。

       2.成员方法
           可以有构造方法,方法修饰符不能为private,可以是抽象方法,也可以是非抽象方法 (可以有方法的具体实现)

    在JDK1.8版本中
       对接口进行一些修改,在接口中可以定义静态方法(只能通过接口调用,不能通过实现类的类名和对象调用),也可以定义默认方法(有具体的实现,JDK1.7中接口不能有具体方法的实现),但是必须用default修饰来修饰该方法

    在JDK1.8版本中当一个类同时实现两个接口,但是两个接口中定义了同样的方法,那么在这个类中必须重写这个方法,否则编译不会通过。

    相关文章

      网友评论

        本文标题:Java基础与面试系列之一接口与抽象类的区别

        本文链接:https://www.haomeiwen.com/subject/sjftzftx.html