• final关键字


    final关键字

     * final  : 最终的
     * final 可以用来修饰的结构: 类, 方法, 变量
     *
     * final 修饰一个类
     *      > 这个类就是最终的类 不可以被其他类所继承
     *            eg : String 类 System类 StringBuffer类
     *
     *
     * final 修饰一个方法: 表明此方法不可以被重写
     *
     *
     * final 修饰变量: 表明此"变量"就称为常量
     *        final修饰一个属性: 可以考虑赋值的位置有:显示初始化, 代码块初始化, 构造器初始化

    final修饰的变量 初始化 位置:

    eg

    :

    public class FinalTest {
       // final int winth;  // 错误, 不可以使用这种方法
        final int WIDTH = 9;
        final int LEFFT;
        final String name;
    
        { // 代码块中赋值
            LEFFT = 14;
        }
    
        public   FinalTest(){
            name = "老王";
        }
    
        public  FinalTest(String n){
            name = n;
        }
    
        public static void main(String[] args) {
            FinalTest finalTest = new FinalTest();
            System.out.println(finalTest.name);
    
        }
        
    }

    final修饰局部变量

           尤其是使用final修饰形参时,表明此形参是个常量.当我们调用此方法时,给常量形参赋值一个实参,

            一旦赋值以后, 就只能在方体内使用此形参不能重新赋值

        public void  show(){
            int num = 10;
        }
    
        // final 修饰局部变量  这个局部变量只在某个特定的方法的局域或者某一块中生效
        public void show(final int num){
            System.out.println(num);
        }

    static final 修饰一个属性: 全局常量 , 全局内只有这一个变量,全局就是static来修饰的 随着类的加载而加载 

    面试题

    排错

    1

    public class Something {
        public int addOne(final int x) {
        return ++x;
    // return x + 1; } }

    2

    public class Something {
        public static void main(String[] args) {
        Other o = new Other();
        new Something().addOne(o);
    }
    public void addOne(final Other o) { // o = new Other(); o.i++; }
    }


    class Other {
    public int i; }

    解答:

    1, 报错 final不可修改  注释的写法是可以的
    
    
    2, 可以  因为final之后的对象不可修改 ,但是修改对象内部的是可以的
  • 相关阅读:
    三十二、恢复单库单表
    三十一、XBK备份
    三十、分库分表备份脚本
    二十九、mysqldump恢复案例
    二十八、mysqldump备份
    二十七、备份介绍
    二十六:慢日志分析
    二十五、二进制日志之GTID模式
    Trie树
    AC自动机
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/11649808.html
Copyright © 2020-2023  润新知