gpt4 book ai didi

java - 为什么下面for循环中的 “getPassenger()”方法可以直接调用而不需要先创建对象?

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:12 27 4
gpt4 key购买 nike

为什么下面的 for 循环中使用“getPassenger()”方法可以直接调用不先创建对象?

package org.airline.reservations;

import java.util.ArrayList;

public class Database {

//fields
private ArrayList<Seat> seats;
private ArrayList<Flight> flights;
private ArrayList<Ticket> tickets;
private ArrayList<Passenger> passengers;

//constructor
public Database() {
seats = new ArrayList<Seat>();
flights = new ArrayList<Flight>();
tickets = new ArrayList<Ticket>();
passengers = new ArrayList<Passenger>();
}
//get the seats arraylist
public ArrayList<Seat> getSeats() {
return seats;
}
//get the flights arraylist
public ArrayList<Flight> getFlight() {
return flights;
}
//get the tickets arraylist
public ArrayList<Ticket> getTicket() {
return tickets;
}
//get the passengers arraylist
public ArrayList<Passenger> getPassenger() {
return passengers;
}
//add an Seat object to the seats arraylist
public void addSeat(int seatNumber) {
seats.add(new Seat(seatNumber));

}
//get the seats arraylist
public ArrayList<Seat> getSeat() {
return seats ;
}

//this method add a Flight object to the flights arraylist
public void addFlight(String departureCity, String arrivalCity, int flightNumber) {

flights.add(new Flight(departureCity, arrivalCity, flightNumber));

}

//this method add a Passenger object to the passengers arraylist , if the
//passenger object already exists in the passengers arraylist return true
//else reture false

我的问题是为什么下面的for循环中的“getPassenger()”方法可以直接调用而无需先创建对象?

public boolean addPassenger(String passengerName) {
boolean passengerExists = false;
for (Passenger item : getPassenger()){
if (passengerName.equals(item.getName())) {
passengerExists = true;

}
}
passengers.add(new Passenger(passengerName));
return passengerExists;
}

最佳答案

addPassenger() 本身是一个实例级方法。因此,您需要使用Database 实例来调用它。同一实例(也称为 this )隐式传递给其他实例方法调用。

关于java - 为什么下面for循环中的 “getPassenger()”方法可以直接调用而不需要先创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36195010/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com