例如,我有一个包含 Movie 对象列表的 MovieDatabase 类。在我的主代码中,我初始化了 MovieDatabase 中的所有对象。但是我希望在另一个类中调用此 MovieDatabase 来访问该库。我该怎么做?
我是否在我的主代码中添加 get 方法并返回它?还是有其他方法(例如,将对象列表更改为受保护/公共?)
谢谢!
代码应该是 3 个单独的类,Main、MovieDatabase 和 Movie。
在 Main 中初始化movieDatabase 的一个实例。在构造时,它调用 loadMovieList() 并从文本文件中填充列表。但是,我希望从另一个类调用相同的movieDatabase 实例来访问电影,这样我就不必重复加载。
public class Main {
public static void main(String[] args) {
MovieDatabase movieDatabase = new MovieDatabase();
}
public class MovieDatabase {
ArrayList<Movie>movieList = new ArrayList<Movie>();
String fileAddress = "D:/Users/Mine/School/Java/CZ2002_Assignment/src/MovieDatabase/movieDatabase.txt";
public MovieDatabase()
{
numOfMovie=0;
loadMovieList();
}
public int getNumOfMovie() {
return numOfMovie;
}
public void addMovieToList(Movie movie) {
movieList.add(movie);
numOfMovie++;
}
public Movie selMovieByID(int movieID) {
int index=-1;
for (Movie m : movieList) {
index++;
if (m.getMovieID() == movieID)
break;
}
return selMovieByIndex(index);
}
public Movie selMovieByIndex(int index) {
return movieList.get(index);
}
public void loadMovieList()
{
//loads through text file
addMovieToList(new Movie(tempMovie));
System.out.println("Movie Database loaded");
}
public class Movie{
private int movieID;
private String movieName;
private int movieDuration; //in minutes;
private String movieRating; //G; PG; PG13; NC16; M18; R21;
private boolean has3D;
private boolean status;
}