final修饰符

来源:互联网 发布:linux samba rpm 编辑:程序博客网 时间:2024/06/05 02:15
   
final 常见的可以修饰类、方法、变量(1)修饰类:    用final修饰的类,该类不可以被继承。(2)修饰方法:    用final修饰的方法,不允许被重载。(3)修饰成员变量:    用final修饰的基本类型变量,不可以被重新赋值。如果是引用类型变量,可以修改属性值。下面(4)有解释。    但是如果没有被赋值的话,在构造方法和之前可以进行赋值一次。如:    情景1:    class Test{        final int num;        public Test(){              num = 20;//这样是可以的        }    }        情景2:    class Test{     final int num = 10;     public Test(){       num = 20;//这样是错的,因为赋值过一次了     }    }    情景3:    class Test{      final int num;      {        num = 10;//这样是可以的,因为这个是构造代码块,是在构造函数之前走      }      public Test(){      }    }    情景4:    class Test{      final int num=10;      {       num = 20;//这样是不可以的      }    }(4)修饰局部变量:   权限修饰符(private protect public)修饰局部变量是没有意义的。final修饰局部变量如果是   基本类型,那么跟修饰成员变量一样,不可以修改。修饰的如果是引用类型,那么引用的地址值不能   改变,也就是不能再被重新分配内存空间:    class Student{      int age = 10;    }    public void test(){        final Student s = new Stuent();        s.age = 100;//可以修改        s = new Stuent();//这样是不允许的,这样是重新分配地址值了    }

原创粉丝点击