zoukankan      html  css  js  c++  java
  • java final static 和final区别

    static 和非static 之间的差异,只有当值在运行期间初始化的前提下,这种差异才会揭示出来。因为编译期间的值被编译器认为是相

    同的。

    package thinking;
    
    public class FinalData {
    
        // Can be compile-time constants
        final int i1 = 9;
        static final int I2 = 99;
        // Typical public constant:
        public static final int I3 = 39;
        // Cannot be compile-time constants:
        final int i4 = (int)(Math.random()*20);
        static final int i5 = (int)(Math.random()*20);
        
        
        public void print(String id) {
            System.out.println(
            id + ": " + "i4 = " + i4 +
            ", i5 = " + i5);
            }
        
        
        public static void main(String[] args) {
            FinalData fd1 = new FinalData();
            FinalData fd2 = new FinalData();
            fd1.print("fd1");
            fd2.print("fd2");
        }
    }

    注意对于fd1 和fd2 来说,i4 的值是唯一的,但i5 的值不会由于创建了另一个FinalData 对象而发生改

    变。那是因为它的属性是static,而且在载入时初始化,而非每创建一个对象时初始化。

  • 相关阅读:
    django初识
    django前奏
    前端之bootstrap
    前端之jQuery
    前端基础之BOM和DOM操作
    前端之js
    前端之css(二)
    前端之css(一)
    html之form表单
    前端之html
  • 原文地址:https://www.cnblogs.com/newlangwen/p/9164099.html
Copyright © 2011-2022 走看看