zoukankan      html  css  js  c++  java
  • Java中的final关键字

    使用final关键字可以完成如下的操作:

    .声明一个类

      使用final去修饰一个类时,该类不能被继承

    final class example{
    	int value;
    	public int getValue(){
    		return value;
    	}
    }
    
    //这里的test想要继承example,但是example被final修饰,所以在编译时会报错
    class test extends example{
    
    }
    

      

    .声明一个方法

      使用final修饰一个类的方法,则该方法不能被子类重写

    class example{
    	int value;
    	final public int getValue(){
    		return value;
    	}
    }
    
    class test extends example{
    	
    	public int getValue(){
    	
    	}
    }
    
    //这里的test类尝试重写父类example的方法getValue(),但是在父类中getValue()使用final修饰,会报无法覆盖父类方法的错误
    

      

    .声明一个常量

    class example{
    
    	final int value = 100;
         final int value1;
    
    	public int setValue(){
    		value = 200;
    
    		return value;
    	}
    }
    
    //类中的value使用了final修饰,说明value是一个常量,方法setValue()尝试去修改value的值,在编译期间会报无法为最终变量value指定值的错误.
    //另外使用final修饰的value1初始化时没有赋值,也会报错,因为它是一个常量,不能没有值,这种情况可以在构造方法中赋值,如下
    
    class example{
      final int value;
    
      example(int value){
        this.value = value;
      }
    }
    
    //注意,只有构造方法才可以给未初始化的final变量赋值
    

      

      

  • 相关阅读:
    luogu P2852 [USACO06DEC]Milk Patterns G
    FZOJ 4267 树上统计
    CF1303G Sum of Prefix Sums
    luogu P5311 [Ynoi2011]成都七中
    luogu P5306 [COCI2019] Transport
    SP34096 DIVCNTK
    luogu P5325 【模板】Min_25筛
    luogu P1742 最小圆覆盖
    求两直线交点坐标
    1098: 复合函数求值(函数专题)
  • 原文地址:https://www.cnblogs.com/qthomas/p/4005674.html
Copyright © 2011-2022 走看看