Java: 如何使用静态部分创建 "variable" 字段?
Java: How to create "variable" fields with static parts?
我有很多字段依赖于一个字段的值,像这样:
private String root;
private String rootHide = root+"&hide";
private String rootApple = root+".apple.me";
...
问题是,root
仅在方法内部赋值(非静态,如果重要的话):
public myMethod () {
root = "myRoot";
System.out.println(rootHide);
System.out.println(rootApple);
}
在为 root
赋值时,rootHide
和 rootApple
已经赋值(null + 它们的文字部分)。
我希望在分配 root 时“重新分配”变量(或选择新的 root 引用的变量),因此分别导致 "myRoot&hide"
和 "myRoot.apple.me"
两种方式:
使用方法设置root
...并在该方法中设置其他两个字段:
private void setRoot(String root) {
this.root = root;
rootHide = root+"&hide";
rootApple = root+".apple.me";
}
你总是setRoot("myRoot");
而不是root = "myRoot";
使用方法获取另外两个字段
...并在方法中计算它们的值:
private String getRootHide() {
return root + "&hide";
}
private String getRootApple() {
return root + ".apple.me";
}
然后您将删除字段 rootHide
和 rootApple
,并始终调用 getRootHide()
和 getRootApple
而不是访问 rootHide
和 rootApple
.
也许创建一个在调用时更新所有变量的方法
static update(String root){
rootHide = root+"&hide";
rootHide = root+"&hide";
}
每次更新root时调用该方法,或者包括root的设置,这样只需要调用它而不需要先设置root。
我有很多字段依赖于一个字段的值,像这样:
private String root;
private String rootHide = root+"&hide";
private String rootApple = root+".apple.me";
...
问题是,root
仅在方法内部赋值(非静态,如果重要的话):
public myMethod () {
root = "myRoot";
System.out.println(rootHide);
System.out.println(rootApple);
}
在为 root
赋值时,rootHide
和 rootApple
已经赋值(null + 它们的文字部分)。
我希望在分配 root 时“重新分配”变量(或选择新的 root 引用的变量),因此分别导致 "myRoot&hide"
和 "myRoot.apple.me"
两种方式:
使用方法设置root
...并在该方法中设置其他两个字段:
private void setRoot(String root) {
this.root = root;
rootHide = root+"&hide";
rootApple = root+".apple.me";
}
你总是setRoot("myRoot");
而不是root = "myRoot";
使用方法获取另外两个字段
...并在方法中计算它们的值:
private String getRootHide() {
return root + "&hide";
}
private String getRootApple() {
return root + ".apple.me";
}
然后您将删除字段 rootHide
和 rootApple
,并始终调用 getRootHide()
和 getRootApple
而不是访问 rootHide
和 rootApple
.
也许创建一个在调用时更新所有变量的方法
static update(String root){
rootHide = root+"&hide";
rootHide = root+"&hide";
}
每次更新root时调用该方法,或者包括root的设置,这样只需要调用它而不需要先设置root。