我在机器随便的一个地方有一个
Class文件。
比如:E:/abc/a/b/c/MyClass.class
它的全名是a.b.c.MyClass
请问我怎么在我的程序里得到MyClass的对象啊。
我的程序的地址比如说是在:D:/workspace/test/Test.class前提只能用java代码实现,因为一切都是动态的。

解决方案 »

  1.   

    在classpath里面添加E:\abc
    然后在你的程序的前面添加 import a.b.c.MyClass
    就OK
      

  2.   

    楼主是什么意思?难道连CLASSPATH你也想在JAVA代码里设置吗?Unix/Linux下环境变量配在主目录下.bash_profile或.cshrc里面,Windows下不知道怎么用程序设环境变量。C/C++在Unix/Linux下有函数可以配环境变量,JAVA就不知道了
      

  3.   

    楼主是什么意思?难道连CLASSPATH你也想在JAVA代码里设置吗?对啊。因为我不知道某个java文件具体在什么地方。
    只有当用户点了我的按钮之后我才知道文件的地址。
    这个时候我想根据Class的内容生成一部分代码。
    我想得到Class的内容啊。
      

  4.   

    java -classpath="e:\abc" Test
      

  5.   

    java -classpath="e:\abc" Test
      

  6.   

    我问在java 程序里怎么写。
    不是在外部,执行什么操作。
      

  7.   

    试试:MyClass.class.getResource("")
    MyClass.class.getClassLoader().getResource("")
      

  8.   

    如果你的对象有缺省的构造函数,Class.forName("classname").newInstance()
    就可以得到一个一个实例.
      

  9.   

    楼上说的不对。
    Class.forName("classname").newInstance()
    现在的问题是这个"classname"的内容是没有被配置在classpath中的。
    就是说你这么写不对Class.forName("a.b.c.MyClass").newInstance()
    因为文件在E:/abc文件夹中。但是classpath当然不知道他的存在了。
    怎么在java程序中动态的完成。类的加载。
    可以从计算机包括网络上得到对象。
      

  10.   

    System.setProperty("java.class.path","......");