1.はじめに
静的変数numberOfObjectsは、作成されたCircleオブジェクトの数をカウントします。クラスの最初のオブジェクトが作成されるとき、numberOfObjectsの値は1です。2番目のオブジェクトが作成されると、numberOfObjectsの値は2になります。Circleクラスは、インスタンス変数radiusと静的変数numberOfObjects、およびインスタンスメソッドgetAreaと静的メソッドgetNumberOfObjectsを定義します。
インスタンスメソッド(例:getAreaO)とインスタンスデータ(例:radius)はインスタンスに属しているため、インスタンスの作成後に使用できます。それらは変数を参照することによってアクセスされます。静的メソッド(例:getNumberOfObjectsO)と静的データ(例:numberOfObjects)は、変数またはそのクラス名を参照することで呼び出すことができます。
2.コード
実装クラス
package com.zhuo.demo;
import com.zhuo.base.Circle;
public class CircleWithOfMenbers {
double radius;
static int numberOfObjects;
CircleWithOfMenbers() {
radius = 1;
numberOfObjects++;
}
CircleWithOfMenbers(double newradius) {
radius = newradius;
numberOfObjects++;
}
int getNumberOfObject() {
return numberOfObjects;
}
double getArea() {
return radius * radius * Math.PI;
}
}
テストクラス
package com.zhuo.demo;
public class TestCircleWithOfMenbers {
public static void main(String[] args) {
System.out.println("创建对象之前");
System.out.println("圆对象的数量为: " + CircleWithOfMenbers.numberOfObjects);
CircleWithOfMenbers c1 = new CircleWithOfMenbers();
System.out.println("创建对象c1之后");
System.out.println("c1半径为" + c1.radius + ",面积为: " + c1.getArea() + ",圆的对象数为: " + c1.getNumberOfObject());
CircleWithOfMenbers c2 = new CircleWithOfMenbers(5);
c1.radius = 9;
System.out.println("创建对象c2和修改c1之后");
System.out.println("c1半径为" + c1.radius + ",面积为: " + c1.getArea() + ",圆的对象数为: " + c1.getNumberOfObject());
System.out.println("c2半径为" + c2.radius + ",面积为: " + c2.getArea() + ",圆的对象数为: " + c2.getNumberOfObject());
}
}
3.結果の表示
创建对象之前
圆对象的数量为: 0
创建对象c1之后
c1半径为1.0,面积为: 3.141592653589793,圆的对象数为: 1
创建对象c2和修改c1之后
c1半径为9.0,面积为: 254.46900494077323,圆的对象数为: 2
c2半径为5.0,面积为: 78.53981633974483,圆的对象数为: 2
Process finished with exit code 0