java如何调用保存在args[0]中的未知类

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:47:11
设计一断代码:在控制台输入类名(则系统会保存在args[0]中),此时想在public类中使用该类中的方法(比如max(int x,int y)),如何调用?
可以直接写args[0].max吗?还是有其他的办法?求各路高手帮忙!
或者完成这样的功能:假设保存在args[0]中的字母为Bus,那么如何通过args[0]来新建一个Bus类?

public class Test {
public static void main(String[] a) throws Exception{
if(a.length == 0) {
return;
}
Object obj = Class.forName(a[0]).newInstance();
//对象已经弄出来了,只要强制转换一下就可以调了
if(obj instanceof StringBuilder) {
StringBuilder sb = (StringBuilder)obj;
//调用StringBuilder的方法

}
}
}

运行命令类似:
java Test java.lang.StringBuilder

不能写类名的
public class A{
int b;
public A(int x,int y)
{
this.b=x+y;
}
}

import a;
public class B{
public static void main(String[] args) {
new A(5,6);
这里的5或者6可以改成从控制台输入函数;
类是先设计好的,是用类来调用方法。具体方法用控制器调用。
}

}

通过java的反射机制 就拿Bus这个类来说吧 写个简单的程序如下
class Bus{
int speed;
int size;
public Bus(){
speed=20;
size=45;

}
public void printType(){
System.out.printl