在Java中可以使用final关键字声明类、属性、方法,在声明时需要注意以下几点:
使用final声明的类不能有子类;
使用final声明的方法不能被子类所覆写,可以被重载;
class Person { final void fly() { System.out.println("不能被重写,但能被重载"); } } class Student extends Person { /* * void fly(){ System.out.println("不能被重写!"); } */ void fly(int a) { System.out.println("可以重载!"); } }
使用final声明基本数据类型变量时,不能对基本类型重新赋值;当引用型变量时,它仅仅保存的是一个引用,final保证的是这个引用类型的变量所引用的地址不会变。即一直引用同一个对象,但是这个对象的值可以改变
package com.example; import java.util.Arrays; /** * @author yyx 2017年6月29日 */ public class Test { public static void main(String[] args) { /* * final int A=3; A=4; 不能重新赋值 */ final int[] ARR = { 1, 2, 3, 4, 5 }; Arrays.fill(ARR, 6); System.out.println(Arrays.toString(ARR)); } }
注意:在使用final声明变量时,要求全部的字母大写