Java程序  |  45行  |  844 B

package sample.duplicate;

import java.awt.Graphics;
import java.awt.Color;

public class Ball {
    private int x, y;
    private Color color;
    private int radius = 30;
    private boolean isBackup = false;

    public Ball(int x, int y) {
	move(x, y);
	changeColor(Color.orange);
    }

    // This constructor is for a backup object.
    public Ball(Ball b) {
	isBackup = true;
    }

    // Adjust the position so that the backup object is visible.
    private void adjust() {
	if (isBackup) {
	    this.x += 50;
	    this.y += 50;
	}
    }

    public void paint(Graphics g) {
	g.setColor(color);
	g.fillOval(x, y, radius, radius);
    }

    public void move(int x, int y) {
	this.x = x;
	this.y = y;
	adjust();
    }

    public void changeColor(Color color) {
	this.color = color;
    }
}