Java常量final

目录

1 final在java中的作用,有哪些用法?

2 常量


1 finaljava中的作用,有哪些用法?

fifinal也是很多面试喜欢问的地方,但我觉得这个问题很无聊,通常能回答下以下5点就不错了:

1. final修饰的类不可以被继承

2. final修饰的方法不可以被重写

3. final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.

4. final修饰的方法,JVM会尝试将其内联,以提高运行效率

5. 被final修饰的常量,在编译阶段会存入常量池中.

除此之外,编译器对final域要遵守的两个重排序规则更好:

在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序

初次读一个包含final域的对象的引用,与随后初次读这个fifififinal,这两个操作之间不能重排序

2 常量

常量:在程序运行过程中,其值不可以发生改变的量。

Java中的常量分类:

字符串常量用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等

整数常量整数,例如:-10、0、88等

小数常量小数,例如:-5.5、1.0、88.88等

字符常量用单引号括起来的一个字符,例如:'a'、'5'、'B'、'中'等

布尔常量布尔值,表示真假,只有两个值true和false

空常量一个特殊的值,空值,值为null

除空常量外,其他常量均可使用输出语句直接输出。

注:常量一般不用,而且final 类不能被继承,没有类能够继承 final 类的任何特性。

public class Test{
  final int value = 10;
  // 下面是声明常量的实例
  public static final int BOXWIDTH = 6;
  static final String TITLE = "Manager";
 
  public void changeValue(){
     value = 12; //将输出一个错误
  }
}

注:

变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):

  1. 所有变量、方法、类名:见名知意

  2. 类成员变量:首字母小写和驼峰原则:  monthSalary

  3. 局部变量:首字母小写和驼峰原则

  4. 常量:大写字母和下划线:MAX_VALUE

  5. 类名:首字母大写和驼峰原则:  Man, GoodMan

  6. 方法名:首字母小写和驼峰原则: run(), runRun()

posted @ 2020-01-26 00:01  赵广陆  阅读(102)  评论(0编辑  收藏  举报