//第一段程序代码
package AppendixA;               1.打包为一个叫AppendixA的文件,打包干什么用?
import java.lang.Math;           2.引入Math类
public class SimpleSphere        3.定义一个SimpleSphere类
    {
     private double radius;    4.这里为什么要定义一个私有变量?公有不行么?
     public static final double DEFAULT_RADIUS=1.0; 5.这个是什么意思?
public SimpleSphere()           5.创建一个无参构造器,告诉你半径为空时怎么办
{
radius=DEFAULT_RADIUS;
}
public SimpleSphere(double r)    6.创建一个有参构造器,当传参为double型调用这个构造器
{
radius=r;
}
public double getRadius()        7.造字面意思是得到半径,那既然我前面radius=r了,这个是做什么的?
{
return radius;          8.把radius返回到哪里?
}
public double getVolume()        9.用来运算球体体积,这个有实际用处,7里面的就不清楚干什么了
{
double radiusCubed=radius*radius*radius;
return 4*Math.PI*radiusCubed/3;
}
}//第2段程序代码
package AppendixA;
public class TestClass
{
   public static  void main(String args[])  //主程序
{
       SimpleSphere ball;                   //定义一个变量
   ball=new SimpleSphere(19.1);    //这个是赋值还是创建一个对象?搞不清楚.
       System.out.println("the volume of a sphere of radius"+ball.getRadius()+"inches is"+(float)ball.getVolume()+"cubic inches\n");
    }
}
我的理解:程序先给出一个参数19.1,然后去上面调用一个有参构造器,接着不清楚往哪里做了.(虽然清楚是把半径代到函数中算出球体体积,就是不知道哪句话是表示把得到的半径这个参数放到下面的getVolume中的)搞糊涂了.有没有热心人帮解释下.

解决方案 »

  1.   

    1.包把你写的代码分类,不同包下可以有相同名字的类
    4.设置成私有的符合面向对象的编程习惯,成员变量一般不直接暴露
    5.定义一个静态编译时常量,
    7,前面的是构造函数,当你new一个对象的时候,传一个半径进来初始化,当然你也可以不传,应为你有2个构造函数。
    8.成员变量是私有的,所以不能直接访问,这个get方法供外界想得到半径时使用,
    面向对象的知识 ,我觉得你应该再看看书什么的学习下
      

  2.   

    哦 get方法经你一提醒想起来了,确实,要把私有拿来用就得get。