java任务--Volume

来源:互联网 发布:淘宝立体3d服装制作 编辑:程序博客网 时间:2024/06/05 15:57

– 定义一个圆类(Circle),其所在的包为bzu.info.software;定义一个圆柱类Cylinder,其所在的包为bzu.info.com;定义一个主类A,其所在的包也为bzu.info.com,在A中生成一个Cylinder对象,并输出其体积。编译并运行该类

– 试着改变求体积方法的访问权限,查看并分析编译和运行结果

– 把Cylinder类和A类置于不同的包中,通过对求体积方法设置不同的访问权限,查看并分析编译和运行结果

Circle类:

package bzu.info.software;public class Circle {int radius;double s;public Circle(int r){radius=r;}public void setRadius(int r){radius=r;   //用于对已有对象改变变量} public int getRadius(){return radius;   //用于得到已有对象变量} public double Sarea(){   //定义一个方法求圆的面积s=3.14*radius*radius;return s;}}
Cylinder类:

package bzu.info.com;import bzu.info.software.Circle;public class Cylinder {double height;Circle bottom;Cylinder(int h,Circle c){height=h;bottom=c;  //地址的传递}void setBottomRadius(int r){bottom.setRadius(r);}int getBottomRadius(){return bottom.getRadius();                            }double Volume(){    //定义一个方法求圆柱体的体积return bottom.Sarea()*height;   //调用圆的Sarea()方法与高相乘并返回}}
主类A:

package bzu.info.com;import bzu.info.software.Circle;public class Cylinder {double height;Circle bottom;Cylinder(int h,Circle c){height=h;bottom=c;//地址的传递}void setBottomRadius(int r){  //用于修改圆柱体的底面半径bottom.setRadius(r);   //调用圆类的set方法修改圆的半径赋给圆柱体的底面半径}int getBottomRadius(){   //用于得到圆柱体的底面半径return bottom.getRadius();   //调用圆类的get方法得到圆的半径并返回                          }double Volume(){   //定义一个方法求圆柱体的体积return bottom.Sarea()*height;  //调用圆的Sarea()方法与高相乘并返回}}
测试结果:





程序分析:用到很多的set方法和get方法用于方便修改已有对象的变量并得到,关于访问权限的问题,如果在另外一个包中的Circle类不加public,则另外包的Cylinder类和主类A将没办法使用Circle类中的方法,要想使用必须导入import那个包,如果将某类中的变量改成private,则变成私有,意思是只能在本类内部使用,而默认的是default,是包权限,在包内可以任意使用。