Не удается найти символ при создании объекта в классе ввода-вывода с использованием наследования
Я пытаюсь создать туристический объект в своем классе IO, и параметры правильно указаны в соответствующем классе. Тем не менее, он не будет компилироваться, поскольку говорит, что не может найти символ. Это потому, что я использую туриста в качестве подкласса? Компилятор говорит, что не может найти символ для переменной "nam" и т. Д. Спасибо за помощь.
Это метод в моем классе IO..
private void addMemberCard()
{
System.out.println("Enter Member name");
String name = reader.nextLine();
System.out.println("Select 1. Tourist, 2. Business");
System.out.println("Enter your choice");
int choice = reader.nextInt();
MemberCard m;
if (choice == 1){m = new Tourist (nam, rat, cred, cit);}
else if (choice == 2){m = new Business(nam, rat);}
preston.addMemberCard(m);
}
а это мой конструктор в туристическом классе
public Tourist (String nam, int rat, int cred, String cit)
{
super(nam, rat, cred);
city = cit;
}
1 ответ
Это не имеет ничего общего с наследованием. Вы должны понимать разницу между параметрами и аргументами. Параметры nam
, rat
, cred
, а также cit
существуют только в пределах Tourist
конструктор. в addMemberCard()
метод, nam
, rat
, cred
, а также cit
не существует; отметки косвенно указали на это. Теперь вам нужно использовать аргументы, существующие переменные с фактическим значением.
Надеемся, что это поможет: http://en.wikipedia.org/wiki/Parameter_%28computer_programming%29