gpt4 book ai didi

java - 如何使 Main 中的变量可供其他类访问?

转载 作者:行者123 更新时间:2023-12-01 13:51:42 24 4
gpt4 key购买 nike

例如,我有一个 MovieDatabase 类,其中包含 Movie 对象的列表。在我的主代码中,我初始化了 MovieDatabase 中的所有对象。不过,我希望在另一个类中调用此 MovieDatabase 来访问该库。我该怎么做?

我是否在主代码中添加 get 方法并返回它?或者还有其他方法(例如,将对象列表更改为 protected /公共(public)?)

谢谢!

代码应该是 3 个独立的类,Main、MovieDatabase 和 Movie。

movieDatabase 的实例在 Main 中初始化。构建后,它调用 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;
}

最佳答案

如果您有一个依赖于 NameLibrary 的类,则应通过构造函数或 set 方法注入(inject)它。

关于java - 如何使 Main 中的变量可供其他类访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19908433/

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