2014-10-05 5 views
-1

Хорошо, поэтому я пытаюсь лучше понять, как вернуть приватную переменную из созданного мной класса. Я только предоставил небольшой фрагмент моей основной программы, чтобы объяснить свой вопрос, поэтому, если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Моя цель - вернуть строку из класса (отлично работает), но также иметь возможность возвращать частные переменные по отдельности по мере необходимости (например, используемый ниже «flight_number»).Как вернуть приватную переменную

public class Flights { 
    private String dest_city, dest_state, departureDate, departureTime; 
    private int flight_number; 

    public Flights(String city, String state, String dDate, String dTime, int flightNumber) { 
     dest_city = city; 
     dest_state = state; 
     departureDate = dDate; 
     departureTime = dTime; 
     flight_number = flightNumber; 
    } 

    public String toString() { 
     return "Flight number: " + flight_number + " Destination: " + dest_city + "," + dest_state + " Departing on:" + departureDate + " at" + departureTime + "."; 
    } 
} 

public class dummy { 
    public static void main(String[] args) { 
     // Uses the constructor to set values 
     Flights flight1 = new Flights("Houston", "Texas", "12/20/2014", "12:40 pm", 100); 
     System.out.println(flight1); 
     System.out.println(flight_number); // Error: `flight_number` cannot be resolved to a variable. 
    } 
} 
+0

Я предполагаю, что вам еще рано писать код Java. Продолжайте учиться и держитесь ближе к приведенным примерным кодам. Затем попробуйте работать с рабочими примерами. Идите медленно. – Matthias

+0

'частный' средства ... закрытый. Класс Dummy не может получить доступ к частному полю другого класса рейсов, по определению 'private'. http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html –

+0

Пожалуйста, отформатируйте свой код перед его отправкой. Вы можете просмотреть, как ваш вопрос будет искать причину. – Pshemo

ответ

4

Вы должны добавить publicпоглотитель в Flights и вызвать его из main:

public class Flights { 
    // all the private fields 
    public int getFlightNumber() { 
     return this.flight_number; 
    } 
} 

В Main:

public static void main(String[] args) { 
    Flights flight1 = new Flights("Houston", "Texas"); //... 
    System.out.println(flight1); 
    System.out.println(flight1.getFlightNumber()); // call the getter 
} 
+0

Спасибо! Я знаю, что это был очень правильный вопрос, но я ценю, что вы нашли время, чтобы привести пример. Это имеет смысл, я сделаю больше исследований по заявлениям о возврате и getter/setters. – tatersalad86

1

Вы должны начать с редактора, такого как eclipse, и это поможет вам быстро начать работу. Getters и Setters - это то, что вам нужно, но начинайте с Eclipse, и вам следует делать лучше.

Смежные вопросы