Java中的final关键字

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

.声明一个类

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

1
2
3
4
5
6
7
8
9
10
11
final class example{
    int value;
    public int getValue(){
        return value;
    }
}
 
//这里的test想要继承example,但是example被final修饰,所以在编译时会报错
class test extends example{
 
}

  

.声明一个方法

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class example{
    int value;
    final public int getValue(){
        return value;
    }
}
 
class test extends example{
     
    public int getValue(){
     
    }
}
 
//这里的test类尝试重写父类example的方法getValue(),但是在父类中getValue()使用final修饰,会报无法覆盖父类方法的错误

  

.声明一个常量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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变量赋值

  

  

 

posted on   qthomas  阅读(672)  评论(0编辑  收藏  举报

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示