200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > java静态方法声明_方法本地类中的Java最终静态声明

java静态方法声明_方法本地类中的Java最终静态声明

时间:2020-11-21 13:04:00

相关推荐

java静态方法声明_方法本地类中的Java最终静态声明

在方法内部声明局部内部类时,为什么包含最终的静态String或int是合法的,而包含其他对象却不合法?

例如:

class Outer {

void aMethod() {

class Inner {

final static String name = "compiles";

final static int ctr = 10; // compiles

final static Integer intThree = Integer.valueOf(3); // does not compile!

final static obj objConst = new Object(); // does not compile!

}

Inner inner = new Inner();

}

}

编译时,得到以下信息:

InnerExample.java:6: inner classes cannot have static declarations

final static Integer outer = Integer.valueOf(3);

^

InnerExample.java:7: inner classes cannot have static declarations

final static Object objConst = new Object();

^

为什么要区分?是因为String是不可变的吗?如果是这样,Integer.valueOf()也无效吗?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。