问题1
int a[]={100,200,300};
int b[]={10,11,12,13,14,15,16};
b=a;
b[0]=123456;
为什么结果a[0]=123456了啊?问题2
class People{   //声明类
   int boy;     //声明属性
   float a[];   
   void f(){    //声明方法,不知道用来做什么的
      boolean cool;  //变量定义
      Workman zhangboy;  //声明对象
   }
}
class Workman{   //声明类
   double x;     //声明属性
}
这段代码到底有没有问题啊?上面是我的理解,但觉得说不通,到底是什么意思啊?还是本来就没具体含义?问题3
class 圆{
   double 半径;
   圆(double r){
      半径=r;
   }
   double 计算面积(){
       return 3.14*半径*半径
   }
   void 修改半径(double 新半径){
       半径=新半径;
   }
   double 获取半径(){
       return 半径;
   }
}
class 圆锥{
   圆 底圆;
   double 高;
   圆锥(圆 circle,double h){  //这里的“圆 circle”是声明对象吗?
       this.底圆=circle;
       this.高=h;
   }
   double 计算体积(){
   double volume;
   volume=底圆.计算面积()*高/3.0;  //这里的“底圆.计算面积()”哪里来的?
   return volume;
   }
   void 修改底圆半径(double r){
   ...
   }
这程序并不完整,接下去的就是调用了。主要是里面的一些变量和方法不知道是怎么来的。

解决方案 »

  1.   

    int a[]={100,200,300};
    int b[]={10,11,12,13,14,15,16};a是一个数组变量 {100,200,300}是一个数组对象a[0]实际改变的是a所引用的对象的第一个元素同理,b也是一个数组变量,{10,11,12,13,14,15,16}是一个数组对象,
    a , b都可以引用一个相同类型的数组对象当执行
    b=a;
    的时候,b也和a引用了一个相同的对象{100,200,300}b[0] 实际也就是a[0]b[0]=123456;因为a,b都是引用了同一个对像.通过b修改,a也会被修改,通过a修改,b也被修改
      

  2.   

    本帖最后由 AWUSOFT 于 2011-05-28 00:44:30 编辑
      

  3.   

    class 圆{
      double 半径;
      圆(double r){
      半径=r;
      }
      double 计算面积(){
      return 3.14*半径*半径;
      }
      void 修改半径(double 新半径){
      半径=新半径;
      }
      double 获取半径(){
      return 半径;
      }
    }
    class 圆锥{
      圆 底圆;
      double 高;
      圆锥(圆 circle,double h){ //这里的“圆 circle”是声明对象吗?
      this.底圆=circle;
      this.高=h;
      }
      double 计算体积(){
      double volume;
      volume=底圆.计算面积()*高/3.0; //这里的“底圆.计算面积()”哪里来的?
      return volume;
      }
      void 修改底圆半径(double r){
      底圆.修改半径(r);
      }
      double 获取底圆半径(){
      return 底圆.获取半径();
      }
    }
      后面是调用上面的类,这段程序里感觉在“class 圆锥”里把上面的“class 圆”变成了“class 底圆”,如果是这样,那么是在哪里实现的?
      

  4.   

    圆锥有一个"圆",命名叫"底圆"
    圆柱有两两个"圆",假设为上圆和"底圆"
    那么"圆柱"应该是这样定义的:class 圆柱
    {    圆  底圆;
        圆  上圆;
        public 圆柱(圆 a,圆 b,doube 高)
        {
           this.底圆=a;
           this.上圆=b;
        }
    }
      

  5.   

    哦,明白了。
    class 圆锥{
    圆 底圆;  //这里是声明对象吧,这样就可以调用圆类中的方法了吧?
    double 高;
    圆锥(圆 circle,double h){ //这里的“圆 circle”是声明对象吗?
    this.底圆=circle;
    this.高=h;
    }