zoukankan      html  css  js  c++  java
  • java 关键字 final

    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 修饰后,此类不允许被继承。

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

  • 相关阅读:
    JS知识点整理
    CSS3疑难问题---6、伪类和伪元素的区别
    人物志---宋霭龄
    范仁义js课程---4、js基本注意点
    legend3---24、软件更新的时候记得保留上两个版本的软件和数据
    心得体悟帖---200215(被动录课效率太低了)
    Java中迭代列表中数据时几种循环写法的效率比较
    Win10
    Java字符串的最大长度
    Android Application对象必须掌握的七点
  • 原文地址:https://www.cnblogs.com/devan/p/11496580.html
Copyright © 2011-2022 走看看