final关键字

修饰类

final class 类名

该类不能被继承

 

 

修饰方法

访问修饰符  final  返回类型/void   方法名(){

 

}

 

方法不能被override

 

修饰实例变量

常量

 

被final修饰的引用变量指向的对象内容可变吗?

在上面提到被final修饰的引用变量一旦初始化赋值之后就不能再指向其他的对象,那么该引用变量指向的对象的内容可变吗?看下面这个例子:

        

public class Test {

    public static void main(String[] args)  {

        final MyClass myClass = new MyClass();

        System.out.println(++myClass.i);

 

    }

}

 

class MyClass {

    public int i = 0;

}

 

这段代码可以顺利编译通过并且有输出结果,输出结果为1。这说明引用变量被final修饰之后,虽然不能再指向其他对象,但是它指向的对象的内容是可变的。


原文出处:/show_499e8728230c48b7a095a22637b5e887.html