这个估计用反射也做不到…
int name,然后getName(name)是将name的值传给了getName函数,没有传引用。
可以反查,getName(5)又name=5,所以得到“name”;但是如果int name=5; int version=5;那么getName(5)就不唯一了。
所以你的设想实现不了。
有一种实现机制是:
name作为属性有getter和setter,在getter中触发事件广播送出变量名称,这样外界就可以得到这个名字。
目前Java还不支持这种机制:
int name {
getter: function() {broadcast("name"); return value;}
setter: function(newval) {value = newval;}
};
要想实现,需要改造虚拟机,用JNI写Native方法实现,或者用Java写模拟器模拟也可以。
js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。
java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:
<script>
var url="<%=url%>";
alert(username);
</script>
上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:
<script>
var url="gif8cn";
alert(url);
</script>
这部分就是标准的js代码了。
public class Alone56 {
int a;
double b;
String c;
public Alone56(){} //调用X1行的构造函数
public Alone56(int a){
thisa = a;
} //调用X1行的构造函数
public Alone56(int a,double b){
thisa = a;
thisb = b;
} //调用X1行的构造函数
public Alone56(int a,double b,String c){
thisa = a;
thisb = b;
} //X1行
int getA(){
return thisa;
}
double getB(){
return thisb;
}
String getC(){
return thisc;
}
}
一般情况下,get()方法应该加上 public的,而属性,通常为private,有时也会付个初值,这个看实际情况。
这么写: private int a = 0;
private double b = 0;
private String c = null;
而 get() 通常是public 的
public int getA(){
return thisa;
}
public double getB(){
return thisb;
}
public String getC(){
return thisc;
}
这个是公司中的基本格式,呵呵。至于为甚么这么写,自己翻翻书,都在课本上呢。
以上就是关于java 怎么获得变量名(不用反射机制)全部的内容,包括:java 怎么获得变量名(不用反射机制)、在jsp页面中java代码获取js里面var变量的值、java简单程序,this、构造函数、获取变量值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)