Final关键字的使用

   在java的关键字中,final我们必须掌握的关键字。不同于其他关键字,这个关键字有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。

概况:
final关键字是我们经常使用的关键字之一,它的用法有很多,但是并不是每一种用法都值得我们去广泛使用。它的主要用法有以下四种:
1.用来修饰数据,包括成员变量和局部变量,该变量只能被赋值一次且它的值无法被改变。对于成员变量来讲,我们必须在声明时或者构造方法中对它赋值;
2.用来修饰方法参数,表示在变量的生存期中它的值不能被改变;
3.修饰方法,表示该方法无法被重写;
4.修饰类,表示该类无法被继承。

上面的四种方法中,第三种和第四种方法需要谨慎使用,因为在大多数情况下,如果是仅仅为了一点设计上的考虑,我们并不需要使用final来修饰方法和类。

1.修饰数据与修饰方法参数

package com.sinosoft.messmanager.handler;
/**
 * Final关键字实例
 * 
 * */
public class FinalTest {
        public final String name;//修饰成员变量:要不构造函数赋值,要不在声明的时候赋值
//      public final String name="name";
        public FinalTest(String name) {
            this.name = name;
        }

      public void test(){
           final String v;
                 v="string";//局部变量,也是不能修改

      } 

      public void method(final String t,final FinalTest finaltest){
         //修饰方法参数
//        t="fzb"; 不能改变它的值:会报错
//        finaltest=new FinalTest("n"); 也不能改变该对象:会报错

     } 

2.修饰方法
第三种方式,即用final关键字修饰方法,它表示该方法不能被覆盖。这种使用方式主要是从设计的角度考虑,即明确告诉其他可能会继承该类的程序员,不希望他们去覆盖这个方法。这种方式我们很容易理解,然而,关于private和final关键字还有一点联系,这就是类中所有的private方法都隐式地指定为是final的,由于无法在类外使用private方法,所以也就无法覆盖它。

“`
public class Final {

      public final String method(){

            //这是个不能被子类重写的方法
           return "";
      }

}
public class ExtendFinal extends Final{
该类继承了Final,它的方法method使用final关键词修饰,相当于使用private修饰,不能被子类重写

}

3.修饰类
final修饰的类是无法被继承的。
总结:
个人观点:Final这个关键词感觉上作用不是特别的大,甚至更多时候还影响了java继承的功能,当然这个只是我这个技术小菜鸟的观点!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值