第九章(对象和类程序清单)

程序清单9-1 TestSimpleCircle.java

/*
 * 需求:定义Circle类,并使用该类创建对象。三个圆对象,其半径分别为1、25和125,然后显示着三个圆的半径和面积。
 * 然后将第二个对象的半径改为100,并显示它的新半径和面积。
 */
package com.echo.test9;

public class TestSimpleCircle {

    public static void main(String[] args) {
        // 创建半径为1的圆的对象
        SimpleCircle circle1 = new SimpleCircle();
        System.out.println("半径为" + circle1.radius + "的圆的面积是" + circle1.getArea());
        // 创建半径为25的圆的对象
        SimpleCircle circle2 = new SimpleCircle(25);
        System.out.println("半径为" + circle2.radius + "的圆的面积是" + circle2.getArea());
        // 创建半径为125的圆的对象
        SimpleCircle circle3 = new SimpleCircle(125);
        System.out.println("半径为" + circle3.radius + "的圆的面积是" + circle3.getArea());
        //将第二个对象circle2的半径改为100
        circle2.radius=100;
        System.out.println("半径为" + circle2.radius + "的圆的面积是" + circle2.getArea());

    }

}

class SimpleCircle {
    double radius;

    SimpleCircle() {
        radius = 1;
    }

    SimpleCircle(double newRadius) {
        radius = newRadius;
    }

    // 返回圆的面积
    double getArea() {
        return radius * radius * Math.PI;
    }

    // 返回圆的周长
    double getPerimeter() {
        return 2 * radius * Math.PI;
    }

    // 设置圆的半径
    void setRadius(double newRadius) {
        radius = newRadius;
    }
}

程序清单9-2 SimpleCircle.java

/*
 * 需求:定义Circle类,并使用该类创建对象。三个圆对象,其半径分别为1、25和125,然后显示着三个圆的半径和面积。
 * 然后将第二个对象的半径改为100,并显示它的新半径和面积。
 */
package com.echo.test9;

public class SimpleCircle {

    public static void main(String[] args) {
        // 创建半径为1的圆的对象
        SimpleCircle circle1 = new SimpleCircle();
        System.out.println("半径为" + circle1.radius + "的圆的面积是" + circle1.getArea());
        // 创建半径为25的圆的对象
        SimpleCircle circle2 = new SimpleCircle(25);
        System.out.println("半径为" + circle2.radius + "的圆的面积是" + circle2.getArea());
        // 创建半径为125的圆的对象
        SimpleCircle circle3 = new SimpleCircle(125);
        System.out.println("半径为" + circle3.radius + "的圆的面积是" + circle3.getArea());
        // 将第二个对象circle2的半径改为100
        circle2.radius = 100;
        System.out.println("半径为" + circle2.radius + "的圆的面积是" + circle2.getArea());
    }

    double radius;

    SimpleCircle() {
        radius = 1;
    }

    SimpleCircle(double newRadius) {
        radius = newRadius;
    }

    // 返回圆的面积
    double getArea() {
        return radius * radius * Math.PI;
    }

    // 返回圆的周长
    double getPerimeter() {
        return 2 * radius * Math.PI;
    }

    // 设置圆的半径
    void setRadius(double newRadius) {
        radius = newRadius;
    }

}

程序清单9-3 TV.java

package com.echo.test9;

public class TV {
    int channel = 1;
    int volumeLevel = 1;
    boolean on = false;

    public TV() {

    }

    public void turnOn() {
        on = true;
    }

    public void turnOff() {
        on = false;
    }

    public void setChannel(int newChannel) {
        if (on && newChannel >= 1 && newChannel <= 120) {
            channel = newChannel;
        }
    }

    public void setVolume(int newVolumeLevel) {
        if (on && newVolumeLevel >= 1 && newVolumeLevel <= 7) {
            volumeLevel = newVolumeLevel;
        }
    }

    public void channelUp() {
        if (on && channel <= 120) {
            channel++;
        }
    }

    public void channelDown() {
        if (on && channel >= 1) {
            channel--;
        }
    }

    public void volumeUp() {
        if (on && volumeLevel <= 7) {
            volumeLevel++;
        }
    }

    public void volumeDown() {
        if (on && volumeLevel >= 1) {
            volumeLevel--;
        }
    }

}

程序清单9-4 TestTV.java

package com.echo.test9;

public class TestTV {

    public static void main(String[] args) {
        TV tv1 = new TV();
        tv1.turnOn();
        tv1.setChannel(30);
        tv1.setVolume(3);

        TV tv2 = new TV();
        tv2.turnOn();
        tv2.channelUp();
        tv2.channelUp();
        tv2.volumeUp();

        System.out.println("tv1的频道是" + tv1.channel + "tv1的音量是" + tv1.volumeLevel);
        System.out.println("tv2的频道是" + tv2.channel + "tv2的音量是" + tv2.volumeLevel);

    }

}

程序清单9-6 CircleWithStaticMembers.java

package com.echo.test9;

public class CircleWithStaticMembers {

    double radius;
    static int numberOfObjects = 0;

    CircleWithStaticMembers() {
        radius = 1.0;
        numberOfObjects++;
    }

    CircleWithStaticMembers(double newRadius) {
        radius = newRadius;
        numberOfObjects++;
    }

    static int getNumberOfObjects() {
        return numberOfObjects;
    }

    double getArea() {
        return radius * radius * Math.PI;
    }

}

程序清单9-7 TestCircleWithStaticMembers.java

package com.echo.test9;

public class TestCircleWithStaticMembers {

    public static void main(String[] args) {
        System.out.println("圆对象创建之前");
        System.out.println("圆对象的数量是:" + CircleWithStaticMembers.numberOfObjects);
        // 创建c1
        CircleWithStaticMembers c1 = new CircleWithStaticMembers();
        System.out.println("创建c1之后");
        System.out.println("c1半径是:" + c1.radius + "圆对象的数量是:" + c1.numberOfObjects);
        // 创建c2
        CircleWithStaticMembers c2 = new CircleWithStaticMembers(5);
        // 修改c1
        c1.radius = 9;
        System.out.println("创建c1和修改c1之后");
        System.out.println("c1半径是:" + c1.radius + "圆对象的数量是:" + CircleWithStaticMembers.numberOfObjects);
        System.out.println("c2半径是:" + c2.radius + "圆对象的数量是:" + CircleWithStaticMembers.numberOfObjects);
    }

}

转载于:https://www.cnblogs.com/echoing/p/7920804.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值