java中final关键字

java中final关键字的使用

                               在java 中final关键字可以用来修饰类、变量和方法,表示“最终、最后”的意思。

一、final类与final方法

  1.     当一个类声明为final后就表示该类是不允许被继承的,否则在编译的时候就会发生错误。所以但我们设计一个类是功能完备或者通用的,并且希望该类是不能够被其他类继承就可以使用final来修饰。
    public final class A{
         //代码内容省略  
    }其中public与final的位置是允许交换的,但必须要在clss之前。
  2. 如果一个方法被声明为final就表示该方法是不允许被重写的,否则也会报编译时错误。有些时候我们想要我们设计的类能够被继承,但是有一些方法又不想被重写,就可以在这些方法之前使用final类修饰。<pre name="code" class="java">public class B{
       public final void test1(){
         //方法代码省略
    }
      public String test2(){
        //方法代码省略
    }
    
    }
     

二、final常量

       final关键字还可以用来修饰变量,可以是成员变量也可以是局部变量。被final所修饰的变量就会变为常量----只能被赋值一次,可以在声明的时候同时进行赋值,也可声明后单独赋值。
        对final修饰的成员变量进行赋值有两种情况。
     1.对于声明为final的实例变量必须要么在声明的同时进行赋值,要么在每一个构造器中进行显示的赋值,而且这两种方法不能同时使用,否则就会报错。
     2.对于声明为final的staitc变量(也称为类变量)必须要么在声明的同时进行赋值,要么在static初始化块(又称为静态初始化块)中进行显示的赋值,并且这两种方法也不能同时使用的,否则也会报错。
      要注意的一点是:对与引用类型的变量如果声明为final,只能表示该变量被赋值后,它只能引用同一个对象,但是对象的内容可以改变。
<span style="color:#6600cc;">public class Test
{
<span style="white-space:pre">	</span>public static void main(String []args){
    final C c1=new C("Jack",20);
   c1.show();
    c1.setAge(50);
System.out.println("**********");
  c1.show();
}
}


 class C{
  private String name;
  private int age;
  public C(String name,int age){
    this.name=name;
    this.age=age;
}


   public void setAge(int age){
     this.age=age;
}


   public int getAge(){
      return age;
}
   public void show(){
    System.out.println("Name:"+name+"\n"+"Age:"+age);
}


}


   
输出结果
   Name:Jack     
   Age:20
**********
   Name:Jack
   Age:50
</span>







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值