方法的重载和静态成员
一、实验目的
1.练习类的构造方法和成员方法的定义。
2. 练习static的使用。
二、实验类型及课时
验证/设计/综合:验证;课时:2。
三、实验环境
装有JAVA语言工具软件 (Eclipse)的微机若干
四、实验内容
1、根据下面的要求实现圆类Circle
- 圆类Circle的成员变量:
私有最终静态成员P表示圆周率(初始化为Math.PI)
私有成员radius 表示圆的半径,为double类型
- 圆类Circle的成员方法:
Circle( ) 构造方法,将半径置0
Circle(double r ) 构造方法,创建Circle对象时将半径初始化为r
double getRadius( ) 获得圆的半径值
void setRadius( ) 设置圆的半径值
读取圆周率P的方法(需要什么修饰符?)
double getPerimeter( ) 获得圆的周长
double getArea( ) 获得圆的面积
void disp( )将圆的圆周率、半径、周长、面积输出到屏幕
- 建立圆类Circle的测试类CircleTest,
a) 在没有圆类Circle的任何对象时,输出成员变量圆周率P的值。
b) 使用构造方法Circle( )创建对象c1,并将半径设置为3.0,把圆c1的半径、周长、面积输出到屏幕
c) 使用构造方法Circle(double r )创建对象c2,并将半径初始化为5.2,把圆c2的半径、周长、面积输出到屏幕.
package work03;
public class CircleTest {
public static void main(String[] args) {
System.out.println("圆周率为:" + Circle.getP());
Circle c1 = new Circle();
c1.setRadius(3.0);
c1.disp();
Circle c2 = new Circle(5.2);
c2.disp();
}
}
class Circle{
// 成员变量
private static final double P = Math.PI;
private double radius;
double perimeter;
double area;
// 初始化为0
public Circle() {
this.radius = 0;
}
// 初始化为r
public Circle(double r) {
this.radius = r;
}
// 获取半径
public double getRadius() {
return radius;
}
// 设置半径
public void setRadius(double r) {
this.radius = r;
}
// 获取P
public double getP() {
this.P = P;
return P;
}
// 求圆的周长
double getPerimeter(){
perimeter = 2*P*radius;
return perimeter;
}
// 求圆的面积
double getArea(){
area = P*radius*radius;
return area;
}
// 显示信息
void disp(){
System.out.println("该圆的半径为:" + radius);
System.out.println("该圆的周长为:" + 2*P*radius);
System.out.println("该圆的面积为:" + P*radius*radius);
}
}
运行效果:
2、编写一个完整的Java Application程序,定义复数类Complex,在测试程序中产生两个复数对象1+2i 和3+4i 相加产生一个新的复数 4+6i并输出。
复数类Complex必须满足如下要求:
- (1)复数类Complex 的属性有:
RealPart : int型,代表复数的实数部分
ImaginPart : int型,代表复数的虚数部分
- (2)复数类Complex 的方法有:
Complex( ) : 构造函数,将复数的实部和虚部都置0
Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String toString( ) : 把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a 和 b分别为实部和虚部的数据。
源码:
package work03;
public class ComplexTest {
public static void main(String[] args) {
Complex aComplex = new Complex(1, 2);
Complex bComplex = new Complex(3, 4);
System.out.println("a=" + aComplex.toString());
System.out.println("b=" + bComplex.toString());
Complex c = aComplex.complexAdd(bComplex);
System.out.println("a+b=" + c.toString());
}
}
class Complex{
// 成员变量
int realPart;
int imaginPart;
// 构造方法
public Complex() {
this.realPart = 0;
this.imaginPart = 0;
}
public Complex(int r,int i) {
this.realPart = r;
this.imaginPart = i;
}
// 成员方法
Complex complexAdd(Complex a) {
this.realPart += a.realPart;
this.imaginPart += a.imaginPart;
return this;
}
public String toString() {
String str = realPart + "+" + imaginPart + "i";
return str;
}
}
运行效果:
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。