final关键字




  • final是一个关键字, 可以修饰类, 修饰字段,修饰方法,修饰局部变量,修饰形参


  • final修饰类表示最终类, 不能被继承


  • final修饰字段(成员变量Field),必须显式初始化(手动:定义时或者在), 不能再修改, 一般final与static同时修饰某个字段,所有字母都大写,称为final常量


  • final修饰方法,不能被子类重写(override), 能被子类继承


  • final修饰局部变量, 一旦初始化就不能再修改, 注意final修饰引用类型变量, 是指这个引用类型变量不能再指向其他对象,可以修改它的属性值


  • final修饰的成员变量存储在堆区


  • 一般情况下final与static都是同时使用的


  • 如果final修饰的是参数,能否在方法里给这个参数赋值?

    public void method1(final int j) {
    	j = 5; //这个能否执行?
    }
    

    看起来好像在函数method1里参数j只赋值了一次,但是实际上使用method1的是下面这种情况

    public class Test {
    	public void method1(final int j) {
    		j = 5;	//这个能否执行?
    	}
        public static void main(String[] args) {
    		method1(10);	//参数在函数被调用的时候就已经赋值了,在函数体里面的赋值是第二次赋值
    	}
    }
    



posted @ 2020-01-21 22:38  火车没有火  阅读(126)  评论(0编辑  收藏  举报