一、实验目的 :
(1) 理解类的定义 ;
(2) 掌握对象的声明 ;
(3) 学会使用构造函数初始化对象 ;
(4) 使用类的数据和方法。
二、实验任务 :
编写一个圆环类 Ring 的Java 程序。圆环类有3 个数据成员, 分别是内半径 innerRadius,外半径outerRadius 和颜色color, 这些属性可以查看get 也可以重新设置set, 另外, 圆环还可以返回其面积area 。
三、实验步骤 :
(1) 仔细阅读程序清单1-1, , 并完成其中的代码1~代码4
程序清单1-1 Ring.java
public class Ring {
private doubleinnerRadius;
private doubleouterRadius;
public String color;
public Ring(double iRadius, double oRadius, String c) {
innerRadius = iRadius;
// 代码1:初始化外半径
color = c;
}
public double getInnerRadius() {
// 代码2:返回内半径
}
public double getOuterRadius() {
return outerRadius;
}
public void setInnerRadius(double iRadius) {
innerRadius = iRadius;
}
public void setOuterRadius(double oRadius) {
outerRadius = oRadius;
}
public void setColor(String c) {
// 代码3:设置颜色
}
public double getArea() {
return (outerRadius * outerRadius - innerRadius * innerRadius) * 3.1415;
}
public static void main(String[] args) {
Ring ring = new Ring(5, 8, "red");
System.out.println("圆环的内半径: " + ring.getInnerRadius());
System.out.println("圆环的外半径: " + ring.getOuterRadius());
System.out.println("圆环的颜色: " + ring.color);
System.out.println("圆环的面积: " + ring.getArea() + "\n");
ring.setInnerRadius(4);
// 代码4:设置圆环ring的外半径为6
ring.setColor("blue");
System.out.println("圆环的内半径: " + ring.getInnerRadius());
System.out.println("圆环的外半径: " + ring.getOuterRadius());
System.out.println("圆环的颜色: " + ring.color);
System.out.println("圆环的面积: " + ring.getArea());
}
}
(2) 打开文本编辑器, 编辑Ring.java 后保存, 然后在Eclipse 环境中编译并运行它,观察程序运行的结果。
思考
(1) 现在请将程序Ring.java 中的语句
Ring ring=new Ring (5,8,"red");
改成
Ring ring=new Ring ();
修改后编译运行 , 此时有错误发生吗 ? 分析错误的原因。
(2) 接着为程序添加一个如下所示的默认构造函数, 观察程序运行是否还有上述错误发生。
public Ring (){
innerRadiusz=1.0, outerRadius=2.0; color="white";
(3) 请把程序中的如下语句 :
System.out.println(" 圆环的内半径 :"+riI1g.getInnerRadius());
system.out.println(“圆环的外径 :"+riIIg.getouterRadius());
改成
System.out.println(" 圆环的内半径 :"+ring-innerRadius()),
system.out.printiII(" 圆环的外半径:"+ring-outerRadius());
修改后编译 , 此时程序运行结果如何 , 应如何修改这个错误。
(4) 现在请为该圆环类Ring 再添加两个方法以便能返回内圆和外圆的周长, 然后在主函数main() 中分别创建两个对象 ring1,ring2 以显示周长。