java任务--Volume

本文介绍了一个基于Java实现的圆柱体类设计案例。通过定义Circle类来表示圆的基本属性和方法,如计算面积等;并通过Cylinder类来表示圆柱体,包括计算体积的方法。文章探讨了不同访问权限对类间交互的影响。

– 定义一个圆类(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,是包权限,在包内可以任意使用。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值