首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

[分享] 改变 public static final String obj 的值的步骤

2012-12-24 
[分享] 改变 public static final String obj 的值的方法这样的设计就是为了不改变obj的值。但是,规则都是

[分享] 改变 public static final String obj 的值的方法
这样的设计就是为了不改变obj的值。

但是,规则都是限制别人的。不想让别人改变,有时候自己却想改变。

不纠结为什么要改变它,如果你真的想改变,实验下这个


[解决办法]
我吐,这也被推荐了。

这样的设计就是为了不改变obj的值。
但是,规则都是限制别人的。不想让别人改变,有时候自己却想改变。
不纠结为什么要改变它,如果你真的想改变,实验下这个

你设计成get方法来获取该值,设计一个具有“访问权限”的set方法,o了。你上面的反射,你可以用,人家照样可用,说来说去就是一种垃圾设计。
[解决办法]
主要想表达的意思是,你可以使用反射感觉上好像可以限制,难道还能限制别人用反射么???

抱歉,激动啦。
[解决办法]
引用:
我是这样用的
Java code

public class Const{
    /** WEB应用的路径,末尾加上了"/"。Tomcat配置若为<Context docBase="/foo/bar"
                    path="<strong>/boo</strong>"&amp;gt;则返回<strong>/boo/</strong> */
   ……


这里的设计我觉得楼主可以参考一下开源框架的设计(Struts2),Constants定义就是一些keys,这些key在整个应用程序是不变的,然后根据这些key去取得对应的value。
[解决办法]
呵呵,不错,但是没有很多的意义!
[解决办法]

public interface LegendConstants {

public static final String LEGEND_HOME = "legend.home";

public static final String LEGEND_I18N_ENCODING = "legend.i18n.encoding";

public static final String LEGEND_RESOURCE_ROOT = "legend.resource.root";



public static final String LEGEND_RESOURCE_PROVIDER_CLASSNAME = "legend.resource.provider.classname";

public static final String LEGEND_TEMPLATE_DIR = "legend.template.dir";

public static final String LEGEND_DEVMODE="legend.devMode";

public static final String LEGEND_THEME = "legend.theme";

public static final String LEGEND_ADMINISTRATOR = "legend.administrator";

}



总体来说(反射)这点作法我是十分不认同的,不过楼主的ROOT_REAL_PATH让我很有感觉。QQ501276913有时间多多交流啊。
[解决办法]
赞一个,LZ想法确实不错,挑战String“不可变字符序列”
不错。。。
不过在具体项目中不适用。反正都能改,做成public的算了。。是不。。。
而且大量反射的效率也不高
想法很好,以后说不定可以借鉴一下。。。
[解决办法]
思路很不错!1![分享] 改变 public static final String obj 的值的步骤
[解决办法]
利用的反射,思路不错
[解决办法]
呵呵,挺好
[解决办法]
没看懂什么神器
[解决办法]
要改变的话何必使用 final 呢?
[解决办法]
要改变的话何必使用 final 呢?
[解决办法]
因为现在都把 suppressAccessChecks 权限放开给你了,如果服务器启动时加上安全管理配置的话,你这个就会抛出 SecurityException 异常了,呵呵。
[解决办法]
想法不错,不过那样把final去了就是了
[解决办法]
算是一個不算漏洞的漏洞吧
[解决办法]
不懂[分享] 改变 public static final String obj 的值的步骤

热点排行