final修饰符

来源:互联网 发布:翅片式换热器计算软件 编辑:程序博客网 时间:2024/05/20 21:48

1、对于final修饰的成员变量而言,一旦被赋初值就不能被重新赋值
2、final成员变量必须有程序员显式的赋值
3、赋值方式有三种:

  • 在申明时直接赋值
  • 类成员变量在静态代码块中赋值
  • 实例成员变量在普通代码块、构造器中赋值

4、final的局部变量在声明时赋值或者在后面赋值但是只能赋值一次不能重复赋值

package Finalclass;public class Final{    int a;    public int show(final int a)    {        // a = 6;   参数不能被改        this.a = a;        return this.a;    }    public static void main(String[] args)    {        final int a = 5;        Final f = new Final();        System.out.println(a);  //  相当于被定义成宏        // a = 3;  不能被修改        System.out.println(f.show(a));    }}

final局部变量基本类型变量和引用类型变量的区别在于,不能对基本变量重新赋值,但是可以改变引用变量所指向的对象的值,因为引用变量所指向的对象的地址不变所以引用变量的值是不变的,变的只是对象的值

package classfile;class person{    public int age;    public int eye;    public person(int age,int eye)    {        this.age = age;        this.eye = eye;    }}public class FinalTest{    public static void main(String[] args)    {        final person p = new person(8,2);        System.out.println(p.age+" "+p.eye);        p.age = 2;        p.eye = 1;        System.out.println(p.age+" "+p.eye);    }}

final方法不能被重写
final类不能被继承

0 0
原创粉丝点击