Ich muss auf den Inhalt eines class
in diesem Fall zugreifen: ParkingMeter
über die Parameter einer anderen Methode in einer anderen Klasse: public static void checkTheCar(ParkedCar pc, ParkingMeter pm)
aber nicht sicher, wie das zu tun ist. Die Methode checkTheCar
muss eine ganze Zahl von ParkingMeter
abrufen und prüfen, ob sie im richtigen Bereich liegt. jeder Rat wird geschätzt.Zugriff auf Inhalte einer Klasse über Parameter in Java?
public static class ParkingMeter {
int time;
public ParkingMeter(int hours,int minutes){
time = (getMinutes(hours,minutes));
}
private int getMinutes(int hours, int minutes){
int time = (hours * 60) + minutes;
return time;
}
}
public static class ParkedCar{
String CompanyName; // Company name
String Model; // Car model
String Color; // Car color
String PlateNumber; // License plate number
String Minutes; // number of minutes parked
public ParkedCar(String companyName, String model, String color,String plate, String minutes){
CompanyName = companyName;
Model = model;
Color = color;
PlateNumber = plate;
Minutes = minutes;
}
}
public static class PoliceOfficer{
String OfficerName;
String BadgeNumber;
public PoliceOfficer(String name,String badge){
OfficerName = name;
BadgeNumber = badge;
}
public static void checkTheCar(ParkedCar pc, ParkingMeter pm){
// do something
}
}
große Antwort, aber ich fragte mich, warum Sie '@ Override' Dank verwendet haben. – Ronald
@Ronald: Weil toString() eine geerbte Methode von Object ist und hier überschrieben wird. Diese Annotation gibt dies an. Es ist zwar nicht erforderlich, den Code zur Kompilierung des Codes zu verwenden (obwohl einige andere Annotationen dies erfordern). Es empfiehlt sich jedoch, diese Annotation immer dann zu verwenden, wenn Methoden aus vererbten Klassen oder Interfaces überschrieben werden. –
@Ronald: Sollte Getter/Setter wahrscheinlich auch zu ParkedCar hinzufügen, um das Design konsistent zu machen. –