高分询问 java 初级常识

来源:百度知道 编辑:UC知道 时间:2024/07/08 22:27:08
public static final String a="a";
public final static String A="a";

这两个声明有什么区别,说详细一些,可以加分.谢谢
我知道final声明的都是常量,但是 通过 session.setAttribute(a,"abc");方法 可不可以赋值

对于
public static final String a="a";
public final static String A="a";
这两句话没有任何区别.
对于
session.setAttribute(a,"abc");
是把session中一个以"a"为key所指向的值赋值为"abc",
严格来说这条语句并不是赋值语句,执行这条语句后
实际上变量a的值并不会发生变化,发生变化的是session中
以"a"为key值的元素的值

一个是STATIC一个是FINAL的,STATIC是静态的,FINAL是常量

没有任何区别,详情见THINK IN JAVA

session.setAttribute(a,"abc"); 这个又没有更改a的值,为什么不可以?

参考下这个http://lavasoft.blog.51cto.com/62575/18771。里面讲的比较清楚。