码迷,mamicode.com
首页 > 编程语言 > 详细

Java final关键字特点

时间:2015-06-16 19:06:59      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

一、特点

1、由于继承,方法可以重写,所以父类的功能就会被子类覆盖
2、有时候我们不想子类覆盖父类的功能,这时候我们可以使用final关键字
3、final可以修饰:类、变量,方法。
4、final修饰类,该类不能被继承
5、final修饰变量,该变量不能被修改,因为这个变量是常量了
6、final修饰方法,该方法不能被重写

 

二、案例分析

技术分享
 1 package finals;
 2 /**
 3  * final关键字,案例1
 4  * @author zhongfg
 5  * @date 2015-06-16
 6  */
 7 class Fu {
 8     
 9     public final int num = 10;
10     public final void secretMethod() {
11         System.out.println("这里是绝密文件,不能修改");
12     }
13     
14     public void show(){
15         
16     }
17 }
18 
19 class Zi extends Fu {
20     
21 //    报错,final修饰的方法不能重写
22     /*public void secretMethod() {
23         System.out.println("我就是要修改,怎么的");
24     }*/
25     
26     public void show() {
27 //        num = 100; 报错,final修饰的变量不能被修改
28         System.out.println(num);
29     }
30 }
31 
32 public class FinalDemo {
33     
34     public static void main(String[] args) {
35         
36         Fu fu = new Zi();
37         fu.secretMethod();
38         fu.show();
39     }
40 }
41 
42 运行结果:
43 这里是绝密文件,不能修改
44 10
View Code
技术分享
 1 package finals;
 2 /**
 3  * 面试题:final修饰局部变量问题
 4  * 基本类型:
 5  *         基本类型的值不能改变
 6  * 引用类型:
 7  *         引用类型的地址值不能改变,但是该对象的堆内存地址值可以改变
 8  * @author zhongf
 9  * @date 2015-06-16
10  */
11 class Student {
12     
13     int num = 10;
14 }
15 
16 public class FinalInterview {
17 
18     public static void main(String[] args) {
19         
20         //局部变量是基本数据类型
21         int x = 1;
22         x = 2;
23         System.out.println(x);
24         
25         final int y = 3;
26 //        y = 4; 报错,无法为最终变量赋值
27         System.out.println(y);
28         
29         System.out.println("---------------");
30         
31         //局部变量是引用数据类型
32         Student s = new Student();
33         s.num = 20;
34         System.out.println(s.num);
35         
36         final Student ss = new Student();
37         ss.num = 30;
38         System.out.println(ss.num);
39         
40 //        ss = new Student(); 报错,无法为最终变量赋值
41     }
42 }
43 
44 运行结果:
45 2
46 3
47 ---------------
48 20
49 30
View Code

 

Java final关键字特点

标签:

原文地址:http://www.cnblogs.com/zfg-technology/p/4581342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!