码迷,mamicode.com
首页 > 编程语言 > 详细

java 关键字 final

时间:2019-09-10 15:03:08      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:new   ack   pre   数据   构造函数   内容   构造   方法   方式   

final:最终的,确保使用前是被赋值得,一旦赋值后不可修改。

 

 1  数据

  ①局部变量

    基本数据类型:

      可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改;

    引用数据类型:

      可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改;

      引用内容不可修改,但备用用的对象内容可以被修改;

  ②成员变量

      必须保证成员变量在使用前被赋值;

      成员变量赋值的方式有两种,1声明变量时赋值,2构造函数中赋值;

    public static void main(String[] args) {
        
        //局部变量
        //①基本数据类型
        final int val;//先定义
        // val = val + 1;//报错没有赋值,无法使用
        val = 7 ;//再赋值
        
        //②引用数据类型
        final Score score = new Score("Jack",98,95,90);
        score.toString();
        //score = new Score("Tom",77,89,99);//引用无法再次修改
        score.name = "Tom";
        score.toString();
        
    }

 

2  方法参数

  在方法参数上做 final 修饰后,整个方法体内参数值不允许被改变。

public Score(final String name,int yuWen, int shuXue, int yingYu) {
        //name = "jack";//报错
        this.name = name;
        this.yuWen = yuWen;
        this.shuXue = shuXue;
        this.yingYu = yingYu;
    }

 

3  方法

  在方法上做 final 修饰后,被继承的子类无法覆盖此方法,可以被继承。

  不可以修饰构造方法。

3 类

  在类上做 final 修饰后,此类不允许被继承。

  违背了面向对象编程中的 “ 继承 ”

 

java 关键字 final

标签:new   ack   pre   数据   构造函数   内容   构造   方法   方式   

原文地址:https://www.cnblogs.com/devan/p/11496580.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!