• final关键字


     


     

    final 关键字

        final关键字 修饰            表示该类 不能被继承;

        final关键字 修饰 成员变量,表示该成员变量必须是常量;

        final关键字 修饰 方法 ,      表示该方法不能被重写;

     


     

    演示1:final修饰 类

    public final class Dad { // 定义一个Dad类
    
    }

    public
    class Son extends Dad { // 定义一个Son类 继承 Dad 类
    // 报错The type Son cannot subclass the final class Dad

    }

    Son类 继承 Dad类,

    发生报错: The type Son cannot subclass the final class Dad

    报错原因:  一个类 不能继承 一个被 final 修饰的 类

    即,final关键字修饰一个类,表示该类不能被继承


     演示2:final修饰 成员变量

    public final class Dad {
        private final int num;    // 报错:The blank final field num may not have been initialized
    
     
    
    }
    报错原因: 成员变量 num 没有初始化赋值

    修改代码:给 num变量 赋值
    public final class Dad {
        private final int NUM = 0;   // 编译通过
    
    
    }
    final关键字 修饰 成员变量,则该变量在声明的同时必须初始化赋值。
    即,final关键字修饰成员变量,表示该变量必须是常量;
    (根据标识符命名规范:常量名全部使用大写)


    演示3 final修饰 方法
    public class Dad {   
         
        
    public final void show() {    // 父类Dad类 的show()方法被final修饰
        
        System.out.println("我是show()方法啊....");
    }
    
    
    }
    
    
    public class Son extends Dad {
    @Override // 重写父类Dad中的show()方法
    public void show() {

    // 报错:Cannot override the final method from Dad System.out.println(
    "我是重写之后的show()方法...."); } }
    
    

    报错原因:子类不能 重写 父类中被final修饰的方法

    即,被final修饰的方法,表示不能被重写

     

       

  • 相关阅读:
    sql2005事务的使用
    [原]using的另一种用法
    [原]Cache的简单用法
    [原] Js动态删除行(支持FireFox)
    [原]为什么文本框高度不一样?
    [原]如何把object解析为int,double,float?
    压缩SQL SERVER日志文件
    [原]替换的更新(Update)查询
    [原]让链接点击过后无虚线
    [原]取得Access表中表的名字
  • 原文地址:https://www.cnblogs.com/penguin1024/p/11733151.html
Copyright © 2020-2023  润新知