class A
{
    private int a;
    private int b;
    ...
    private int z;
}
class B:A
{
    private int A;
}如何把classA种的a的值,一次复制到classB中呢?
而不用写成这样:
B.a=A.a;
...
B.z=A.z;

解决方案 »

  1.   

    ..........
    你那classA中的a是私有的好不好
      

  2.   

    不用复制的,有个protect关键字,子类可访问的。
      

  3.   

    程序有问题,private的无法继承
      

  4.   

     我不是要继承呀。你们理解错我的意思了。我的意思是两个对象,一个是classA,一个是classB
    现在我初始化了classA,然后想利用classA初始化clasB中从classA中继承来的那些域。
      

  5.   

     private 成员即使在子类中也是不可访问的。
      

  6.   

    现在我初始化了classA,然后想利用classA初始化clasB中从classA中继承来的那些域。你实例化一个B,就可以直接对 B中集成的A的“那些域”进行赋值了。如果两个类非集成关系,可以改B的构造函数 参数为A的实例 进行B的初始化赋值。或者用反射 给B赋值。
      

  7.   

    其实我的问题说错了。意思没表达清楚。现在我把我的问题的代码写规范一点。
    有两个类,其中classB继承自classA:
    class A 

    //classA 的成员
        private int a; 
        private int b; 
        ... 
        private int z; 
    //classA 的构造函数
        public classA(int a,int b,...,int z)//这里说明classA有很多数据项,所以才有必要想办法一次搞定

    class B:A 

        private int A; 
    } 然后我需要把classA的数据复制到classB的对象上
    classA AA=new classA(1,2,3,...,26);
    classB BB=new classB();
    BB=AA;//该处语句可以换成任意的,只要在类的外部,只需要一跳语句就可以实现把AA中的a~z的值都复制到BB中就好了。可以在classA或classB中增加成员函数。但是该函数越简短越好。因为classA中的数据实在太多,所以很可能会漏掉某些成员。所以最好能用一两条语句搞定。不用穷举classA的每个成员。当然如果实在办不到例外
      

  8.   

    class A 

    //classA 的成员 
        protected int a; 
        protected int b; 
        ... 
        protected int z; 
    //classA 的构造函数 
        public classA(int a,int b,...,int z)//这里说明classA有很多数据项,所以才有必要想办法一次搞定 

    class B:A 

        private int A;
    //class B 的构造函数
        public chassB(int a1,int b1,...int z1)
        {
            a = a1;
            b = b1;
            ......
            z = z1;
        }

    要得A   A A1 = new B(1, 2, 3,....26 );
    要得B   B B1 = (B)A1;