美文网首页
java-final

java-final

作者: NullPointe_8e82 | 来源:发表于2018-11-14 13:52 被阅读0次

 final int i; // 因为要在构造函数中进行初始化,所以此处便不可再给值

 final int i2 = (int) (Math.random() * 20);

 static final int i3 = (int) (Math.random() * 20);

Bat() {

        i = 100;

    }

publicstaticvoidmain(String[] args){

        Bat b = new Bat();

       // b.i=25;   syntax error  i是不可变的    

      System.out.println( "bbbb: " + "i2 = " + i2 + ", i3 = " + i3);//bbbb: i2 = 4, i3 = 6

      Bat c = new Bat();

     System.out.println( "cccc: " + "i2 = " + i2 + ", i3 = " + i3);//bbbb: i2 = 6, i3 = 6

    }

总结:在同一个对象里final是不可变的!在不同对象就不一定了!所以单纯的final修饰是只针对一个对象的

而在final前加入static后则变为修饰类了,是类变量,只会被加载一次,所以i3无论新建多少个对象都还是6!

所以:一定要区分final与static final的细微差别。

相关文章

  • java-final

    finalinti;//因为要在构造函数中进行初始化,所以此处便不可再给值 finalinti2=(int)(Ma...

  • Java-Final

    Final final 关键字指示常量,并且表示的这个变量只能被赋值一次,常量名使用全大写。static fina...

  • java-final笔记

    java编程思想学习笔记 编译器常量:可以在编译时执行计算式,必须 是基本数据类型、携带final关键字、使用之前...

  • Java-Final关键字

    Java-Final关键字 Final成员变量 final修饰的成员变量必须由程序员显式的指定初始值 final修...

  • java-final关键字

    1 修饰变量 声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量。 对于基本类型,fin...

  • java-final关键字修饰变量

    在java中,final关键字可以对类、方法以及变量进行修饰,这里对final修饰变量进行一些探讨。final修饰...

  • 深入理解Java-final关键字

    1 修饰属性或者变量 无论属性是基本类型还是引用类型,作用都是变量里面存放的“值”不可变 经常和static关键字...

网友评论

      本文标题:java-final

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