Java Final修饰符

final主要用法:

修饰数据;修饰局部变量;修饰方法;修饰类。

 

1.用来修饰数据,包括成员变量和局部变量,该变量只能被赋值一次且它的值无法被改变。对于成员变量来讲,我们必须在声明时、构造方法或者初始化块中对它赋值

final修饰符

成员变量有两种,一种是静态成员变量,一种是普通成员变量

1.1普通成员变量

final来修饰他 int intA=22;

intA他就不是变量了,类似于常量INT_A,这是一种命名规范final int INT_A=22;

final修饰的成员变量,赋值方式:初始化的时候给他赋值

final 类型的只能初始化一次,赋值一次,赋值完一次就不能再赋值了,final类型

public class FinalMemberVariables1 {

         final int INT_A=22;    声明时赋值

         final int INT_B;       在初始化块赋值  

         final int INT_C;       在构造器赋值

         {

                  INT_B=22;       在初始化块赋值

         }

         public FinalMemberVariables1(){

                  INT_C=22;       在构造器赋值

         }

         1.2静态成员变量

                  final static String STR_A="4444"; 声明的时候赋值

                  final static String STR_B;  在静态初始化块赋值

                  static{

                          STR_B="33333";

                  }

}

final修饰成员变量 (实例变量和类变量(静态变量))---无法赋值(可以初始化)

只能赋值一次(相当于初始化变量)

初始化的意思就是给他第一次赋值,也就是只能赋值一次

因为是常量,常量一旦固定,就不能再给他修改了

2. 用来修饰局部变量,表示在变量的生存期中它的值不能被改变

final修饰局部变量----只能赋值一次(相当于初始化变量)

         public void testMethod(final int num){

 }

final类型的形参:形参是在调用这个方法的初值赋值的,去初始化的,在内部是不可以给他赋值的

不能对final修饰的形参赋值

3. 修饰方法,表示该方法无法被重写

public class F1 {

    public void print(){

             System.out.println("F1方法");

    }

    public final void F2(){

             System.out.println("F2方法");

    }

}

class abc extends F1{

         public void print(){

             System.out.println("F1方法");

         }

下面的代码有错误,无法重写final修饰的方法

final修饰的方法是不能重写的

final修饰的方法是最终的,无法修改的

          public final void F2(){

                      System.out.println("F2方法");

             }

}

4.修饰类,表示该类无法被继承

public final class FinalClassDemo4 {}

以下语法错误,final修饰的类是不能被继承的,String

不是继承,是不能被继承,

如下,不能被D2继承

class D2 extends FinalClassDemo4{}

Class D3 extends String{ final修饰的类

}

猜你喜欢

转载自blog.csdn.net/kezhenke/article/details/89638017
今日推荐