当前位置: 技术问答>java相关
java 中的 final 在这种情况下表示何种含义啊?
来源: 互联网 发布时间:2015-09-19
本文导语: public static synchronized void debug(final Object message) { new Thread(new Runnable() { public void run() { System.out.println(message); } }).start(); } | 对于数值变...
public static synchronized void debug(final Object message) {
new Thread(new Runnable() {
public void run() {
System.out.println(message);
}
}).start();
}
new Thread(new Runnable() {
public void run() {
System.out.println(message);
}
}).start();
}
|
对于数值变量而言,如加上Final则表示声明其为常量。
对于对象变量,则不可以对该对象变量重新分配空间。(但是可以更改该对象中属性的值)
对于函数而言,如加上Final则表示该函数不可以在子类中被覆盖。
关于上面的问题:
我想你想说的是在方法中定义的类而不是内部类。(class defined in method not inner class),这是java的规定,我想可能是为了解决动态联编方面的难题吧。反正你就记着就可以了。
关于内部类,完全可以访问上级类中不是final的属性。
对于对象变量,则不可以对该对象变量重新分配空间。(但是可以更改该对象中属性的值)
对于函数而言,如加上Final则表示该函数不可以在子类中被覆盖。
关于上面的问题:
我想你想说的是在方法中定义的类而不是内部类。(class defined in method not inner class),这是java的规定,我想可能是为了解决动态联编方面的难题吧。反正你就记着就可以了。
关于内部类,完全可以访问上级类中不是final的属性。
|
表示message对象在这个方法中不能修改
|
有道理
|
相当于C++的
void read_only_method() const
void read_only_method() const