美文网首页
如何理解final关键字

如何理解final关键字

作者: yunqing_71 | 来源:发表于2019-04-02 14:28 被阅读0次

    1.被final关键字修饰的变量不能改变(是变量的引用不能改变,变量的内容是可以改变的
    2.被final关键字修饰的方法不能被重写
    3.被final关键字修饰的类不能被继承

    详细说说final修饰变量:
    1.当final修饰基本数据类型变量,变量值不可改变
    2.当修饰引用数据类型变量,变量的引用不可以被改变,但是变量本身指向的对象或者数组的值可以改变

    package org.yunqing.myDemo;
    
    public class FinalTest {
        public static void main(String[] args) {
            //基本数据类型
            final int i = 1;
            i = 2;//直接报错The final local variable i cannot be assigned. 
            //It must be blank and not using a compound assignment
            
            //引用类型,引用test类
            final Test t = new Test("66");
            System.out.println(t.getStr());
            t.setStr("77");//重新setStr的值,没问题,说明变量本身指向的对象的值可以改变
            System.out.println(t.getStr());
            t = new Test("99");//试着重新new一个test给t对象,
            //报错The final local variable i cannot be assigned. 
            //说明变量的引用不可以改变
        }
    }
    class Test{
        private String str;
        
        public test(String str) {
            this.str = str;
        }
        public String getStr() {
            return str;
        }
        
        public void setStr(String a) {
            this.str = a;
        }
    
    }
    
    

    借鉴于https://www.cnblogs.com/xrq730/p/4820296.html
    https://www.cnblogs.com/chanchan/p/7936388.html

    相关文章

      网友评论

          本文标题:如何理解final关键字

          本文链接:https://www.haomeiwen.com/subject/sxfgbqtx.html