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

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

  • 相关阅读:
    WP7 操作XML文件
    C#和C/C++指针实现swap交换
    感受
    我学到了什么 我思考了什么.
    hdu 2768 Cat vs. Dog (最大独立)
    hdu 1960 Taxi Cab Scheme (最小覆盖)
    hdu 1528 Card Game Cheater (最小覆盖)
    hdu 4160 Dolls (最大独立)
    hdu 2458 Kindergarten (最大独立集)
    hdu 2119 Matrix (最小覆盖)
  • 原文地址:https://www.cnblogs.com/devan/p/11496580.html
Copyright © 2011-2022 走看看