A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡文彬 中级黑马   /  2014-3-13 16:58  /  789 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final 关键字有什么作用呢

3 个回复

倒序浏览
final 放在类前面
  如果某个类在定义时,前面有修饰词final,则该类不能被继承
final 放在属性前面
  属性声明时,如果前面有修饰词final关键字,则该属性值不能被更改,即此时该属性为常量
final放在方法前面
  如果某个方法在定义时,前面有修饰词final,该方法可以被调用,不能重写

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成final类型,例如:
  1. public class LocalInnerClass {  
  2.     private String local = "local";  
  3.     public void test()  
  4.     {  
  5.         String name = "abc";  
  6.         final String finalName = "final name";  
  7.         //局部变量前面是不可以加权限控制符的,也不能用static修饰。  
  8.         //但是可以用final修饰,用来确保这个变量的值不会发生改变。  
  9.         //所以如果局部类要访问带修饰的局部变量,只能访问用final修饰的局部变量。但是局部类可以访问外部类的所有成员,包括成员变量。  
  10.         //此类为局部类  
  11.         //局部类不需要加public,private修饰符,因为这方法执行完 这类就消失了  
  12.         class LocalClass{  
  13.               
  14.             public void testLocal()  
  15.             {  
  16.                 test2();//可以访问外部类的所有成员变量和成员方法  
  17.                 System.out.println("The memeber variable is " + local);  
  18.                 System.out.println("The local variable is " + finalName);  
  19.             }  
  20.         }  
  21.         new LocalClass().testLocal();  
  22.     }  
  23.       
  24.     public void test2()  
  25.     {  
  26.          
  27.     }  
  28. }  
复制代码

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
final:
1,修饰类,变量(成员变量,静态变量,局部变量),函数。
2,修饰的类不可以被继承。
3,修饰的函数不可以被覆盖。
4,修饰的变量是一个常量,只能赋值一次。
5,  内部类要访问局部变量时,局部变量必须定义成final类型。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马