我需要做以下(X和Y只是例子):數組對象?
我有一個X類。在那個班裏我有對象,我做了什麼。我有另一個(Y)類,它擴展了X類並實現了Cloneable。在X類中,我創建了哪些對象,需要將它們放入數組中。然後我需要將它克隆到Y類。我該怎麼做?
下面是代碼:
(X)級
import java.util.Scanner;
class Vehicle {
static int speed;
double direction;
protected String ownerName;
static int ID_number = 0;
int initID_number;
int ID;
Scanner s = new Scanner (System.in);
private final static String TURN_LEFT = "left";
private final static String TURN_RIGHT = "right";
Vehicle() {
ID = ID_number++;
}
public Vehicle(String initOwner) {
ownerName = initOwner;
}
public static void highestID() {
System.out.println("The highest ID is: " + ID_number);
}
public static void changeSpeed(int speedNow) {
speed = speedNow;
}
public static void stop(){
speed = 0;
}
public static void turn(int degree) {
System.out.println("The car turn in "+ degree);
}
public static void turn(String turn) {
if (turn == TURN_LEFT) {
System.out.println("The car turn left");
}
else if (turn == TURN_RIGHT) {
System.out.println("The car turn right");
}
}
public static void main(String[] args) {
Vehicle Alfa = new Vehicle();
Alfa.speed = 120;
Alfa.direction = 12.11;
Alfa.ownerName = "Alfa";
Alfa.initID_number = 1;
Vehicle BMW = new Vehicle();
BMW.speed = 100;
BMW.direction = 12.1411;
BMW.ownerName = "BMW";
BMW.initID_number = 2;
Vehicle Chrysler = new Vehicle();
Chrysler.speed = 90;
Chrysler.direction = 131.1210;
Chrysler.ownerName = "Chyrsler";
Chrysler.initID_number = 3;
System.out.println("Speed: " + Alfa.speed);
System.out.println("direction: " + Alfa.direction);
System.out.println("ownerName: " + Alfa.ownerName);
System.out.println("ID_number: " + Alfa.ID);
System.out.println("initID_Number: " + Alfa.initID_number);
System.out.println();
System.out.println("Speed: " + BMW.speed);
System.out.println("direction: " + BMW.direction);
System.out.println("ownerName: " + BMW.ownerName);
System.out.println("ID_number: " + BMW.ID);
System.out.println("initID_Number: " + BMW.initID_number);
System.out.println();
System.out.println("Speed: " + Chrysler.speed);
System.out.println("direction: " + Chrysler.direction);
System.out.println("ownerName: " + Chrysler.ownerName);
System.out.println("ID_number: " + Chrysler.ID);
System.out.println("initID_Number: " + Chrysler.initID_number);
Vehicle Dacia = new Vehicle("Dacia");
System.out.println();
System.out.println("ownerName: " + Dacia.ownerName);
highestID();
changeSpeed(50);
stop();
turn(50);
turn("right");
}
}
(Y)類
class Garage extends Vehicle implements Cloneable {
// need to make here the clone of the Vehicle's class array
}
您需要向我們展示了代碼。 – 2011-05-25 14:22:10
看來Garage不需要擴展Vehicle,但它應該包含一系列的車輛。 Garage.turn()應該做什麼?:\ – amit 2011-05-25 14:32:44
爲什麼'Vehiche'類中的所有內容都是靜態的?你確實知道,當你設置'BMW.speed = 100'時,它設置車輛的靜態速度變量,然後當你設置'Chrysler.speed = 90'時,它會設置相同的靜態變量,重寫你爲寶馬設置的內容。 – 2011-05-25 14:33:34