Я пытаюсь вызвать метод в другом классе, так что я инициировал класс я пытаюсь получить доступ в классе я звоню его от, вот код:NoSuchMethodError при вызове метода из другого класса
Car c = new Car();
Van Vans = new Van();
SportsCar s = new SportsCar();
MiniVan m = new MiniVan();
while (SelectMotor < 1 || SelectMotor > 4) {
System.out.println("\t\t Choose the vechile you wish to add:");
System.out.println("1.Car");
System.out.println("2.Van");
System.out.println("1.SportsCar");
System.out.println("4.MiniVan");
SelectMotor = in.nextInt();
if (SelectMotor == 1) {
c.AddCar();
}
Всякий раз, когда я запускаю его я получаю эту ошибку:
Вот код, где метод, который я звоню содержится:
import java.util.Scanner;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.IOException;
class Car extends Vehicle {
Vehicle v = new Vehicle();
WriteFile WriteCarDetails = new WriteFile(CarDetails, true);
Scanner SaveCarDetails = new Scanner(System.SaveCarDetails);
String WriteMe;
void AddCar() {
System.out.println("\n\n\t\t\tAdding a Car");
System.out.print("\nEnter Make: ");
v.SetMake = SaveCarDetails.next;
System.out.print("\nEnter Model: ");
v.SetModel = SaveCarDetails.next;
System.out.print("\nEnter Litre: ");
v.SetLitre = SaveCarDetails.nextDouble;
System.out.println("\nEnter Top Speed: ");
v.SetTopSpeed = SaveCarDetails.nextInt;
System.out.println("\nEnter Gears: ");
v.SetGears = SaveCarDetails.nextInt;
System.out.println("\nEnter Doors: ");
v.SetDoors = SaveCarDetails.nextInt;
}
}
Я новичок в Java, но имею некоторый опыт работы на C#, я не понимаю, почему я получаю сообщение об ошибке на картинке выше, насколько я могу видеть класс, к которому я пытаюсь обратиться, инициировано имя метода. Я получаю ошибку, потому что я пытаюсь получить доступ к подклассу, не обращаясь сначала к суперклассу? Это единственный странный способ, которым я мог подумать, что это происходит неправильно. Спасибо за любую помощь!
Вы уверены, что вы правильно скомпилировали 'Car.java'? –
Попробуйте установить метод AddCar() в 'public'. – Emd4600
Я предполагаю, что вся программа скомпилирована правильно, когда я обращаюсь к двум другим классам и просматриваю их, прежде чем пытаться получить доступ к этому методу. – COYG