美文网首页
学懂final , finally ,finalize

学懂final , finally ,finalize

作者: Franck_ | 来源:发表于2018-05-22 15:26 被阅读5次

final 是java 的一个关键字,表示最后的,不可变的。用于修饰类,变量,方法。

final修饰类

final修饰类的时候,表示类是不可变的,不能被继承的。

public final class A{
}

//这么写会直接编译器报错,不能编译
public class B extend A{
}

final修饰方法

final 修饰方法的话,代表这个方法已经是最后一个版本了,这个方法不能被子类覆盖,重写。

  public class A{
      public void m1(){}
  }

  public class B extend A{
    @Override//这么写直接报错的,不能编译,子类不能覆盖父类的final方法。如果去掉@Override是没问题的。这样的话就是在子类重新定义一个m1方法
    public void m1(){}
  }


final修饰变量

可以修饰实例变量,类变量,和方法的参数变量。
如果变量是基础类型的话,那么这个变量是不可改变的。
如果变量是引用类型的话,那么这个变量的引用是不可改变的。


    final int i = 1;
    final Object b = new Object();


    public void t(){

//        i = 2;
//        b = new Object();
        int j = i+2;
    }

    public void t(int k,final int l,final Object m){

        k = 2;
//        l = 1;
//        m = new Object();

        final int o = 1;
//        o = 2;
    }

final的方法和变量都是编译的时候就已经生成在字节码里面了。所以使用的时候就会获取得特别快。效率比较高。

相关文章

  • 学懂final , finally ,finalize

    final 是java 的一个关键字,表示最后的,不可变的。用于修饰类,变量,方法。 final修饰类 final...

  • java 基础知识点1-final与各类引用

    1.final,finally,finalize区别 final表示不可修改,finally是保证重点代码一定执行...

  • java学习——源码分析finalize和FinalRefere

    一道常见的java面试题:描述final、finally、finalize的区别final、finally是常用的...

  • 经典面试题目

    谈谈final,finally,finalize有什么不同? final可以用来修饰类、方法、变量。final修饰...

  • Java面试题

    final, finally,finalize的区别: final 生命属性,方法,和类,final声明的属性是常...

  • java核心技术36讲笔记

    Java-Basic 谈谈final、 finally、 finalize有什么不同? 典型回答:final可以用...

  • Java语言中机组混淆的知识

    第一组:final、finally和finalize? 阿情说:final和finally是Java语言中的关键字...

  • final,finally,finalize

    final,java中的关键字,修饰符,修饰类、方法或变量。修饰类表示该类不可以被其他类继承,修饰方法表示该方法不...

  • final finally finalize

    final可以修饰变量,方法,类。修饰变量,变量的值不能被修改;修饰方法,方法不能被重写;修饰类,类不能被继承。 ...

  • final,finally,finalize

    说在前面,每天积累一点点,详情请点击github final final是可以修饰域,参数,方法,类的关键字。 f...

网友评论

      本文标题:学懂final , finally ,finalize

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