java 怎么获得变量名(不用反射机制)

java 怎么获得变量名(不用反射机制),第1张

这个估计用反射也做不到…

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、构造函数、获取变量值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9468151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存