20.黑马程序员-final关键字

来源:互联网 发布:js求最大公约数 编辑:程序博客网 时间:2024/06/15 02:12

------- android培训、java培训、期待与您交流! ----------

  • 概述:final是一个修饰符,意思是“最终”。可以修饰类,函数,变量。
  • final出现的原因
    • 这里需要说明继承的优缺点。
      • 好处:代码复用性,多态等等。
      • 弊端:打破了封装性,可以被重写。
    • 为了保证封装性,对类final。
  • 用途1:被final修饰的类不可以被继承。
  • 用途2:被final修饰的类、函数、变量不可以被重写。
    • 没被final修饰的函数、变量可以重写。
  • 被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,又可以修饰局部变量。
    • 这个变量值固定变成常量,常量名需要大写,多个单词用下斜杠连接。全局常量可以加上静态。
  • 内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。
  • 类有三种修饰符:public、final、defult。类名权限至少是包可见。private不能修饰外部类,内部类也慎用。
  • 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 
  • final,finally,finalize的区别
    • final是关键字,表示“不可变”或“最终态”,可以声明类,方法及变量,声明的类不可被继承,声明的变量不能被修改,声明的方法不可被覆盖。
    • finally属于异常机制,和try-catch搭配使用。捕获异常之后,程序会寻找finally块结束。
    • finalize是方法名,Java 允许 finalize() 方法在垃圾收集器将对象从内存中清除之前做一些清理工作,在垃圾收集器删除对象之前对这个对象调用的