黑马程序员技术交流社区
标题:
一个小问题
[打印本页]
作者:
胡文彬
时间:
2014-3-13 16:58
标题:
一个小问题
final 关键字有什么作用呢
作者:
chen20134
时间:
2014-3-13 17:02
final 放在类前面
如果某个类在定义时,前面有修饰词final,则该类不能被继承
final 放在属性前面
属性声明时,如果前面有修饰词final关键字,则该属性值不能被更改,即此时该属性为常量
final放在方法前面
如果某个方法在定义时,前面有修饰词final,该方法可以被调用,不能重写
作者:
文江江
时间:
2014-3-13 17:22
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成final类型,例如:
public class LocalInnerClass {
private String local = "local";
public void test()
{
String name = "abc";
final String finalName = "final name";
//局部变量前面是不可以加权限控制符的,也不能用static修饰。
//但是可以用final修饰,用来确保这个变量的值不会发生改变。
//所以如果局部类要访问带修饰的局部变量,只能访问用final修饰的局部变量。但是局部类可以访问外部类的所有成员,包括成员变量。
//此类为局部类
//局部类不需要加public,private修饰符,因为这方法执行完 这类就消失了
class LocalClass{
public void testLocal()
{
test2();//可以访问外部类的所有成员变量和成员方法
System.out.println("The memeber variable is " + local);
System.out.println("The local variable is " + finalName);
}
}
new LocalClass().testLocal();
}
public void test2()
{
}
}
复制代码
作者:
黄飞1991
时间:
2014-3-13 17:36
final:
1,修饰类,变量(成员变量,静态变量,局部变量),函数。
2,修饰的类不可以被继承。
3,修饰的函数不可以被覆盖。
4,修饰的变量是一个常量,只能赋值一次。
5, 内部类要访问局部变量时,局部变量必须定义成final类型。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2