美文网首页
java 抽象类和接口

java 抽象类和接口

作者: answer_bcd | 来源:发表于2018-01-03 16:09 被阅读7次

    参考https://www.cnblogs.com/dolphin0520/p/3811437.html
    回顾一下java的一些基础知识作为记录。
    一.抽象类
    1.用abstract来修饰的类就是抽象类。
    2.无论抽象类中有没有抽象方法,只要用abstract修饰的类就似乎抽象类。用abstract修饰的方法就是抽象方法。
    3.抽象类是为了继承而存在的。一个父类的没有任何意义的方法,必须通过子类的不同需求进行不同实现,这个类就可以是抽象类。
    4.抽象类不只是包含抽象方法的了,也可以包含普通方法和成员变量。
    5.抽象方法和普通方法的区别
    (1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
    (2)抽象类不能用来创建对象.
    (3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
    二.接口
    1.接口中可以有变量和方法。接口中的变量只能是public static final变量,接口中的方法只能是public abstract方法。并且接口中的方法不能有具体的实现。
    2.一个非抽象类继承了接口,就必须实现所有的接口方法。如果是抽象类继承接口,则可以不实现抽象方法。
    三.区别
    (1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
    (2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
    (3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
    (4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
    (5)抽象类可以看作是一个属性的固有行为,接口可以看做是附加行为。
    根据文章开头链接整理下来做下笔记。再附上原文https://www.cnblogs.com/dolphin0520/p/3811437.html

    相关文章

      网友评论

          本文标题:java 抽象类和接口

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