zoukankan      html  css  js  c++  java
  • static final与final修饰的常量有什么不同

    最近重头开始看基础的书,对一些基础的概念又有了一些新的理解,特此记录一下

    static final修饰的常量:

    • 静态常量(static修饰的全部为静态的),编译器常量,编译时就确定其值(java代码经过编译器把.java源文件编译成.class字节码文件.经过jvm解释成机器码)
    • 存放于方法区的静态常量池中,在编译时就已经存放
    • 如果调用此常量的类并不是定义这个常量的类,那么不会初始化定义这个常量的类,节省了内存资源的开销
    1 class Demo{
    2       
    3 }
    代码如下
    class Demo{
    
      private static final int A=1;//当final修饰的变量为成员变量时,必须在声明时赋值,或者在构造方法中赋值.
    
      public static void main(String[] args){
    
        System.outprintln(Demo.A);//并不会去加载Demo这个类,减少内存资源
    
          }
    
    }    

    final修饰的常量

    • 类加载时确定或者时机更靠后
    • 当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值
  • 相关阅读:
    84. Largest Rectangle in Histogram
    881. Boats to Save People
    148. Sort List
    830. Positions of Large Groups
    279. Perfect Squares
    15. 3Sum
    430. Flatten a Multilevel Doubly Linked List
    JS的所有字符串操作都在这里啦
    如何使DIV居中
    最齐全的vue公共函数给你们放出来啦
  • 原文地址:https://www.cnblogs.com/liujia1990/p/8425639.html
Copyright © 2011-2022 走看看