美文网首页ThoughtWorks欧亚创新工作室程序员
final,static,抽象类,接口,多态

final,static,抽象类,接口,多态

作者: 简_笑 | 来源:发表于2017-10-24 21:18 被阅读24次

    final关键字

    1. final可以修饰变量

    变量必须被初始化,初始化以后不能被修改(即变成了常量)


    1. final可以修饰方法

    final修饰的方法不能被重写,但仍然可以重载

    a 方法重载:在同一个类中,有多个方法同名,参数列表不同,构成方法重载
    b 方法重写:在子类和父类中,出现了具有相同返回类型,相同方法名,相同参数列表的方法时,构成方法重写
    

    1. final可以修饰类

    final修饰的类是最终类,不能被继承


    static关键字

    1. 静态属性:

    a 静态属性能被类名直接调用(也能被实例调用)
    b 静态属性被类的所有实例所共享


    1. 静态方法:

    a 静态方法可以直接被类名调用
    b 在静态方法中不能使用this和super(this代表当前对象,也就是当前正在执行当中的方法被哪个对象调用,this就代表哪个对象,但是静态方法可以直接通过类名调用,类名调用静态方法时,this无法代表一个类名!!所以,静态方法中不能使用this(super))
    c 静态方法只能访问静态属性


    3.静态块:static{ };


    a 静态块在类被加载时,自动执行,当第一次实例化类的对象是就会加载类
    b 静态块在整个运行期间,只执行一次


    抽象类和抽象方法

    1. 抽象类不能被实例化
    2. 抽象方法只能存在于抽象类中(抽象方法不能有方法体)
    3. 抽象类中即可以有抽象方法也可以有非抽象方法(而接口不能含有任何非抽象方法)
    4. 抽象类中的抽象方法必须在非抽象子类中得以实现(实现就是一种重写,只不过重写的是一个抽象方法)
    5. 如果子类也是抽象类,就不必实现抽象类中的抽象方法
    6. 抽象类不能再被final修饰
    7. 抽象方法不能被final和static修饰
      抽象类的作用:为了被子类继承,从而提高代码的重用性

    接口

    1. 接口的定义:访问修饰符 interface 接口名{ }
    2. 接口的 属性:接口中的属性默认且必须被public static final 修饰
    3. 接口的方法:接口中的方法默认且必须被public abstract 修饰
    4. 接口不能被实例化(抽象类也不能被实例化)
    5. 接口中的方法在非抽象子类中必须得以实现(重写)
    6. 类实现接口的关键字是implements
    7. 类实现一个借口时,必须实现接口中的所有抽象方法
    8. 实现是一种特殊的继承,所以可以发生向上转型
    9. 接口的方法默认是public abstract,所以实现接口中的方法时,修饰符也必须时public
    10. 一个类可以同时实现多个接口,多个接口用“逗号”隔开
      接口扩展:

    • 类与类之间是单继承的关系
    • 类与接口之间是多实现的关系
    • 接口与接口之间是多继承的关系

    多态

    1. 多态:多种表现形态
    2. 多态的体现:向上转型
    3. 多态的前提:继承
    4. 多态的好处:提高代码的扩展性
    5. 多态的限制:向上转型发生时,子类独有的方法无法使用

    相关文章

      网友评论

        本文标题:final,static,抽象类,接口,多态

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