因此,作爲項目的一部分,我必須使用一個類型爲Vehicle的數組,它被抽象爲2個子類動力化和踏板,然後有4個子類被變形。如何訪問變形類中的對象變量Java
我的問題如何訪問Vehicle類型的車輛對象數組中的變量。以下是顯示設置的部分當前代碼。
//Main
import java.io.*;
import java.util.*;
public class DatabaseMain
{
public static void main(String[] args) throws Exception
{
String inputString;
File inFile = new File(args[0]);
Scanner lineCounter = new Scanner(inFile);
Scanner fileScan = new Scanner(inFile);
File outFile = new File(args[1]);
PrintStream printer = new PrintStream(outFile);
int lineCount = 0;
while (lineCounter.hasNextLine())
{
lineCount++;
String linePoint = lineCounter.nextLine();
}
Vehicle[] vehicle = new Vehicle[lineCount];
inputString = fileScan.nextLine();
String completeInputString = "";
for(int i = 0; i < lineCount; i++)
{
String inputFront = inputString.substring(0,2);
if(inputFront.contains("b%"))
{
vehicle[i] = new Bicycle();
vehicle[i].setup(inputString);
}
completeInputString = completeInputString + "\n" + inputString;
if(fileScan.hasNextLine()) //Special Last run to handle end of File lines
{
inputString = fileScan.nextLine();
}
}
printer.print(completeInputString);
}
}//CourseMain
//Bicycle.java
import java.util.Arrays;
public class Bicycle extends Pedal
{
String type;
String make;
int size;
int vehicleID;
int numberOfGears;
String owner;
int numberOfRiders;
public void setup(String inputString)
{
String[] parts = inputString.split("%");
type = parts[0];
make = parts[1];
size = Integer.parseInt(parts[2]);
vehicleID = Integer.parseInt(parts[3]);
numberOfGears = Integer.parseInt(parts[4]);
owner = parts[5];
numberOfRiders = Integer.parseInt(parts[6]);
}
public String getMake() {return make;}
}
http://i.stack.imgur.com/RQwmb.png
這裏是表示數據如何存儲的對象的陣列中的圖像。
注:我不能使用ArrayList在這個項目
也許我不明白你的問題,但它在我看來,你正在訪問像'vehicle [i] = new Bicycle();'這樣的行數組''vehicle'陣列元素分配一個新的'自行車對象進入數組'車輛'的第i個元素。 –
@scottb然而,這個項目的描述方式是,Bicycle和它的姐妹子類三輪車(未顯示)使用自己的方法從Pedal和Override繼承了空的構造函數(setup())。我的教授教授的過程是什麼(在我看來,考慮到你可以使用4個子類並剪掉中間階級,這似乎是不必要的) –
@RichardCmberss:是的,這是正確的。更簡單地提出我的問題是數據存在於數組媒體中,但我不確定如何訪問它以便我可以對信息進行分類。 –