美文网首页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,抽象类,接口,多态

    final关键字 final可以修饰变量 变量必须被初始化,初始化以后不能被修改(即变成了常量) final可以修...

  • Java面试核心框架

    常量池 常用关键字 final static 内部类 抽象类 接口 异常 注解 容器 内存管理内存模型、工作内...

  • Java学习Day05

    今日学习内容总结 final常量 多态 常量final 定义格式:public static final 数据类型...

  • 多态、final、static

    注意:分享别人好文章多态存在的三个条件 1、有继承关系 2、子类重写父类方法 3、父类引用指向子类对象 补充一下第...

  • java 接口和内部类的new相关

    可见接口中可定义并初始化成员变量,也能定义抽象和非抽象类。接口内的成员a隐藏有final static修饰 访问应...

  • map接口

    map是java.util包中的一个接口(public,static,final,一种特殊的抽象类,可多重实现,可...

  • 安卓学习笔记

    1.权限修饰符 2.final的语法 3.抽象类 模板方法 4.接口(interface) 5.多态 6.内部类 ...

  • 面试题

    第一章 Java 方面 (一)Java 基础部分 1.抽象类与接口的区别? 2.分别讲讲 final,static...

  • java的final关键字

    ——修饰类、接口和抽象类 final可以修饰方法,属性,类!但是不能修饰接口,抽象类;因为 接口和抽象类本身就是...

  • java中接口和抽象类的区别

    1.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的 2....

网友评论

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

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