zoukankan      html  css  js  c++  java
  • 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之后的对象不可修改 ,但是修改对象内部的是可以的
  • 相关阅读:
    轻量级Spring定时任务(Spring-task)
    Mysql语句优化建议
    python时间日期处理
    subprocess
    Tkinter初体验
    java基础
    java JVM
    NFV
    java加载properties文件的六种方法总结
    悲观锁和乐观锁的区别
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/11649808.html
Copyright © 2011-2022 走看看