zoukankan      html  css  js  c++  java
  • java===java基础学习(16)---final

    final-----概念

    1.当不希望父类的某个方法被子类覆盖(override)时,可以用final关键字修饰。

    2.当不希望类的某个变量的值被修改时,可以用final修饰。如果要用final,则必须赋初始值,不然编译不过

    3.当不希望被继承时,可以用final修饰。

    package demo;
    
    public class test4 {
        public static void main(String[] args) {
            Bbb aBbb = new Bbb();
            System.out.println("a=="+aBbb.get_a());
        }
    
    }
    
    
    class Aaa
    {    
        int a=0; //?如果不给初始值,a=?
        final float b = 3.141592654f;
        final public void sendMessage()
        {
            System.out.println("发消息!");        
        }
    
    }
    
    class Bbb extends Aaa
    { 
    //    public void sendMessage()
    //    {
    //        这里报错,final定义的不能被覆盖
    //    }
        
        public Bbb()
        {
            a++;
            //b++;  //这里报错 The final field Aaa.b cannot be assigned
        }
        
        public int get_a()
        {
            return a;
        }
    }
    
    final class Ccc
    {
        //不能被继承
    }
    
    
    //class Ddd extends Ccc
    //{
    //    //The type Ddd cannot subclass the final class Ccc
    //}

    注意事项:
    1.final修饰的 变量又叫常量,一般用 xx_xx_xx来命名

    2. final修饰的变量在定义时,必须赋值,并且以后不能再赋值

    final什么时候用?
    1.因为安全的考虑,类的某个方法不允许被修改

    2.类不会被其它类继承

    3.某些变量值是固定不变的,比如圆周率3.141592......

  • 相关阅读:
    切片 Slice
    表单与v-model
    vue-内置指令
    go单元测试
    go异常处理
    设计模式
    django数据库事务
    go interface衍生的插件化处理
    goroutine
    drf之序列化
  • 原文地址:https://www.cnblogs.com/botoo/p/8877700.html
Copyright © 2011-2022 走看看