当前位置: 技术问答>java相关
求救!高分!关于JAVA类调用的问题100分,在线等待
来源: 互联网 发布时间:2015-08-10
本文导语: 有谁知道怎样用变量的形式调用一个类中的属性 例如: public class A{ public static String uuu="hello"; public static String iiii="world"; } 我想做个类,包含一个方法,传一个变量,然后取得A类的不同...
有谁知道怎样用变量的形式调用一个类中的属性
例如:
public class A{
public static String uuu="hello";
public static String iiii="world";
}
我想做个类,包含一个方法,传一个变量,然后取得A类的不同属性值
public class B{
public String getElement(String x){
//在这里用传过来的字符串变量X取得不同的A类的值
比如说return A.x但我知道这样写是不行的,怎么才能根据需要显示不同的A变量的值呢
}
}
高分请教,着急
例如:
public class A{
public static String uuu="hello";
public static String iiii="world";
}
我想做个类,包含一个方法,传一个变量,然后取得A类的不同属性值
public class B{
public String getElement(String x){
//在这里用传过来的字符串变量X取得不同的A类的值
比如说return A.x但我知道这样写是不行的,怎么才能根据需要显示不同的A变量的值呢
}
}
高分请教,着急
|
public class A
{
public static String uuu="hello";
public static String iiii="world";
}
——————————————————————————————
import java.lang.reflect.*;
public class B
{
public String getElement(String x)
{
A a=new A();
Field field=null;
try
{
field=a.getClass().getField(x);
}
catch(NoSuchFieldException e)
{
System.err.println("no such field");
e.printStackTrace();
}
catch(SecurityException e)
{
System.err.println("security exception");
e.printStackTrace();
}
if(field==null)
return "no such field";
Object obj=null;
try
{
obj=field.get(a);
}catch(Exception e){e.printStackTrace();}
String value=(String)obj;
return value;
}
public static void main(String[] args)
{
if(args.length==0)
{
System.out.println("please input an arg");
System.exit(0);
}
String key=args[0];
B b=new B();
String s=b.getElement(key);
System.out.println("***"+s+"***");
}
}
{
public static String uuu="hello";
public static String iiii="world";
}
——————————————————————————————
import java.lang.reflect.*;
public class B
{
public String getElement(String x)
{
A a=new A();
Field field=null;
try
{
field=a.getClass().getField(x);
}
catch(NoSuchFieldException e)
{
System.err.println("no such field");
e.printStackTrace();
}
catch(SecurityException e)
{
System.err.println("security exception");
e.printStackTrace();
}
if(field==null)
return "no such field";
Object obj=null;
try
{
obj=field.get(a);
}catch(Exception e){e.printStackTrace();}
String value=(String)obj;
return value;
}
public static void main(String[] args)
{
if(args.length==0)
{
System.out.println("please input an arg");
System.exit(0);
}
String key=args[0];
B b=new B();
String s=b.getElement(key);
System.out.println("***"+s+"***");
}
}
|
可以用Class类来实现,具体你参考javadoc就知道了。
|
说过用反射了呀!
http://java.sun.com/docs/books/tutorial/reflect/index.html
http://java.sun.com/docs/books/tutorial/reflect/index.html