final和static关键字一

final

1. 被fina修饰的类,不能被继承;

2. 被final修饰的方法,不能被重写;

3. 被final修饰的变量,不能被再次赋值,意思是被final修饰的是常量。

常量:

  字面值常量:

  1. 整型常量:10,
  2. 小数常量:10.1
  3. 字符(串)常量:“abdc”
  4. 布尔常量:true
  5. 空常量:null

  自定义常量:

  1. 被final修饰的就是自定义常量,这个值不能再被继续赋值,程序每active一次,这个值就是永久固定的了。
  2. 约定俗成的规则(如何命名final常量):

      所有的字母都大写,如果多个单词,中间用下划线隔开;

      例如:JAVA_HOME

      

package final_demo;
public class Demo1 {
	public static void main(String[] args) {
		int a = 10;
		System.out.println(a);
		final int b = 10;
//		b = 20; //The final local variable b 
		// cannot be assigned. It must be blank and not using a compound assignment
		System.out.println(b);
	}
}

 final 修饰的数据类型:

基本数据类型:

  int, double;

  final int/ final double.

引用数据类型

  类:类以及类以内的成员变量

  数组:ArrayList   

package final_demo;

import java.util.ArrayList;

public class Demo2 {
	public static void main(String[] args) {
		final ArrayList<String> A1_FINAL = new ArrayList<String>(); 
		A1_FINAL.add("  ");
//		A1_FINAL = null; //The final local variable A1_FINAL cannot be assigned. 
						 //It must be blank and not using a compound assignment
		final ArrayList<String> A2_FINAL = null; 
		A2_FINAL.add("  ");
		A2_FINAL = null; //The final local variable A1_FINAL cannot be assigned. 
							//It must be blank and not using a compound assignment
	      //去掉final就可以不报错了。
  } }

 

    

  接口:

  

posted @ 2020-07-23 14:00  游泳的花生人-ATC  阅读(215)  评论(0编辑  收藏  举报