class A {
    int i ;
    int j ;
   public A(A c)
   {
     this.i = c.i;
     this.j = c.j;
   }
}

解决方案 »

  1.   

    再加个构造函数
    public A{
    }
      

  2.   

    A没有父类么
    如果有父类B
    可以B b = new B();
    A a = new A((A)b);
      

  3.   

    哦 抱歉
    A a = new A(b);
    就可以了 不用转化。。
      

  4.   

    wunan320():
    A没有父类么
    如果有父类B
    可以B b = new B();
    A a = new A(b);请问wunan320
    能用子类的地方就能用父类吗?
      

  5.   

    vc可以实例化这样的类,
    A a;
    然后手动分配内存空间
    然后设置数据 (这两步已实验成功,其实分配内存空间的方法不光new一种,LZ可以研究一下new的原理 然后手动new一下)
    然后再A a1 = new A(a);
    请求接分
      

  6.   

    luver(烂番):
     不是可不可以用,是可不可以转换的问题,父类可以隐式的转换为子类如果你说显式转换的话还有点道理,但不是所有的父类都能显式转换成子类的!!!
    你不想想子类扩展的父类有吗?
    按你的说法Abc objAbc=new Object();永远成立了!????
    是Object obj=new Abc();永远成立吧!大哥不知是打错了还是学艺不精?
      
     
      

  7.   

    Object o=new Object();
    A a=(A)o;
    a.i=0;
    a.j=0;
    A aa=new A(aa);
      

  8.   

    java大概也能做 道理和我前面说的vc的方法类似
    由于java不能手动分配内存地址
    调用一下wapi  GlobalAlloc和GlobalFree
    如果计算不好需要分配的内存大小 可以GlobalAlloc多分配一点
    只要对应的i,j的地址值合法,就可以new了
    多分配的内存不用管,就可以GlobalFree 掉了不过强烈要求LZ按我在一楼说的做
      

  9.   

    即使是弄个子类也是不可以的吧~LZ是不是HY人的呀?因为JAVA中子类的构造方法是要调用父类的,而父类只有一个,那最终还是得传个A类型的呀!::这样会空指针错误的.
    A a;
    A a1 = new A(a);==========
    有问题!!-------
    写成这样差不多:
    public A(A c)
    {
         if(c!=null){
    this.i = c.i;
    this.j = c.j;
         }
    }
    A a=new A(null);
      

  10.   

    to sandflying(飞沙):
    好主意 可以new了
    但是不能副值的
    a.i=0;
    a.j=0; 是错的
      

  11.   

    wunan320() ( ) 信誉:100    Blog  2006-12-15 16:51:04  得分: 0  
     
       vc可以实例化这样的类,
    A a;
    然后手动分配内存空间
    然后设置数据 (这两步已实验成功,其实分配内存空间的方法不光new一种,LZ可以研究一下new的原理 然后手动new一下)
    然后再A a1 = new A(a);
    请求接分
      ==========
    这是JAVA,谢谢!
    A a;//VC中会实例化一个变量了;JAVA中只有一个引用,等于null.你这A a1 = new A(a);相当于:
    A a1 = new A(null);  //方法中:null.i,null.j ??? 
      

  12.   

    to sandflying(飞沙):
    Object o=new Object();
    A a=(A)o;
    转了以后a是only a Object
    所以A aa=new A(aa);的时候一定会出错的
      

  13.   

    sandflying(飞沙) ( ) 信誉:100    Blog  2006-12-15 17:31:29  得分: 0   
     
       Object o=new Object();
    A a=(A)o;  // 类型转化错误!
    a.i=0;
    a.j=0;
    A aa=new A(aa);
      
     请参考:
    (尤其最后一句)
    -----------
     welshem(天堂客) ( ) 信誉:110    Blog  2006-12-15 17:25:15  得分: 0  
     
     
       luver(烂番):
     不是可不可以用,是可不可以转换的问题,父类可以隐式的转换为子类如果你说显式转换的话还有点道理,但不是所有的父类都能显式转换成子类的!!!
    你不想想子类扩展的父类有吗?
    按你的说法Abc objAbc=new Object();永远成立了!????
    是Object obj=new Abc();永远成立吧!大哥不知是打错了还是学艺不精?
      

  14.   

    to malligator(不能再整天泡在CSDN里了!)  
    我在后面好象跟了java的方法
    请看看 谢谢
      

  15.   

    wunan320() ( ) 信誉:100    Blog  2006-12-15 17:47:38  得分: 0   
       to sandflying(飞沙):
    Object o=new Object();
    A a=(A)o;
    转了以后a是only a Object
    所以A aa=new A(aa);的时候一定会出错的
      ===========
    A a=(A)o;//这句就错了!类型不匹配!!JAVA中转化之前都要:
    if(obj instanceof ClassA)
       ClassA a=(ClassA)obj;
    else //类型不匹配!! 
      

  16.   

    wunan320() ( ) 信誉:100    Blog  2006-12-15 17:48:34  得分: 0  
     
       to malligator(不能再整天泡在CSDN里了!)  我在后面好象跟了java的方法
    请看看 谢谢
      ======
    给出代码来吧
      让我长长见识~ 
      

  17.   

    public class Test {  private static final A SINGLETON;  static {
        try {
          Constructor c = A.class.getDeclaredConstructor(null);
          c.setAccessible(true);
          SINGLETON = (A) c.newInstance(null);
        } catch (Exception ex) {
          throw new RuntimeException(ex);
        }
      }  public static void main(String[] args) throws Exception {
        A a = new A(SINGLETON);
      }
    }class A {  int i;  int j;  private A() {
      }  public A(A c) {
        this.i = c.i;
        this.j = c.j;
      }
    }这个怎么样,只加一个private的构造函数?