http://www.javayou.com/showlog.jspe?cat_id=3&log_id=369

解决方案 »

  1.   

    Class.forName(str)返回一个Class Object,再.newInstance()实例化一个的对象,和new一样:
    The class is instantiated as if by a new expression with an empty argument list
      

  2.   

    你的第二个问题写的不是很清楚
    比如这样一个类com.aa.bb.yourclassname
    yourclassname.class文件是保存在com文件夹的aa子文件夹的bb子文件夹中.
    以后要使用这个类的话.com文件夹的上级目录要放到classpath中.如果在开发时,要使用令一个你自己设计的类,要在project properties中的library中添加这个路径.
      

  3.   

    to:hsdxhc(天天)如果有一句是这样的:package pack1.pack2
                        class myclassname
    那么我的myclassname这个类要保存在pack1文件夹下的pack2的子文件夹的下面了。如果要是在其它包中用到这个类,那么我要用import pack1.pack2.*这样的一
      

  4.   

    to:hsdxhc(天天)如果有一句是这样的:package pack1.pack2
                        class myclassname
    那么我的myclassname这个类要保存在pack1文件夹下的pack2的子文件夹的下面了。如果要是在其它包中用到这个类,那么我要用import pack1.pack2.*这样的一句话是这样的吗?另外我还要将pack2的文件目录添加到project properties中的library中?或者是将pack1文件夹放到classpath中的一个目录下面是这样的吗?
      

  5.   

    这是实例化对象的另外一种方法,好像在effective java的第一条就是:用静态工厂方法替代构造函数来实例化一个对象,往往会有比构造函数更好的方法,优点好像是:1、静态工厂方法可以按照需要取名。2、不用每次都创建一个新的对象、3、可以生成对象的子类。还有2个缺点,记不得了。
      

  6.   

    to:hsdxhc(天天)如果有一句是这样的:package pack1.pack2
                        class myclassname
    那么我的myclassname这个类要保存在pack1文件夹下的pack2的子文件夹的下面了。如果要是在其它包中用到这个类,那么我要用import pack1.pack2.*这样的一句话是这样的吗?另外我还要将pack2的文件目录添加到project properties中的library中?或者是将pack1文件夹放到classpath中的一个目录下面是这样的吗?
    你说的import 之前的都是对的,关于classpath不对,其实你的classpath的设置应该到pack1的当前目录,
    例如你的文件是这么放的c:\pack1\pack2\myclass
    这时候你只要把classpath设到c:\就行了,
      

  7.   


    哦!明白了,谢谢你们,我是要将pack1的当前目录用classpath指过去就行了,应该是这样的吧!另外你知那个实例话对像Class.forName(str).newInstance();吗?
    比如有我有一个类叫classmyname我对他创建一个对象,对象名叫spr,还有一个对象名叫spr2,我要是对此两个对象实例化,直接用一句:Class.forName(classmyname).newInstance();那这两个对象(spr,spr2)都已被实例化了是这样的吗?
      

  8.   

    Class.forName(classmyname).newInstance();
    这里的classmyname是类的名称,不是一个实例化了的对象名称,这个方法本身就是用来实例化对象的
      

  9.   

    比如Class.forName("java.lang.String").newInstance()