>我在一个类中声明了一个对象,但现在我在另一个类中,我想在不使所有内容都静态的情况下获取对象的字段。在当前类中,我没有存在于其他类中的对象,我真的不知道如何调用它。如果我使用 getter,我想我仍然需要当前类中的对象来调用它,我也不想使字段成为静态的,因为我希望字段对于每个对象都是唯一的。
package main;
import daysOfTheWeek.*;
public class Game {
private int currentDayOfWeek = 1;
private int totalDays = 1;
boolean playerHadEvent = false;
public void startGame(){
while(true){
boolean eventDay = false;
if(currentDayOfWeek == 5 || currentDayOfWeek == 6){ //check if current day isn't Friday or Saturday
eventDay = true;
}
System.out.println("==DAY " + totalDays + ", " + DaysOfTheWeek.getDay(currentDayOfWeek)+"==");
if(eventDay){
String event = Events.getEvent();
if(event.equals("gaming")){
System.out.println("Today there is " + Messages.getGamingEvent());
if(){ //get the field from another class's object
}
}
}
totalDays++;
currentDayOfWeek++;
if(currentDayOfWeek == 8){
currentDayOfWeek = 1;
playerHadEvent = false;
}
}
}
}
package main;
import daysOfTheWeek.*;
import dices.*;
public class Demo {
public static void main(String[] args) {
Student player = new Student();
Student computer = new Student();
player.generatePlayer(player);
computer.generateComputer(computer);
Game startingGame = new Game();
startingGame.startGame();
}
}
这就是我创建 2 个对象并通过方法设置它们的字段的方式。现在我正在尝试使用这两个对象,但在 3rd 类中
在你的主类中:
public class Main{
public static void main(String[] args){
Game game = new Game();
System.out.println(game.getCurrentDayOfWeek());
}
}
所以你需要创建方法getCurrentDayOfWeek。
您可以创建单例类型模式。
class Junk{
int value;
static Junk instance = new Junk();
static int getJunkStuff(){
return instance.value;
}
static void setInstance(Junk j){
instance = j;
}
}
听起来你应该更好地构建你的代码,所以也许你应该粘贴一个更完整的示例。
第三个类需要对这些对象的引用?然后给它一个参考。
class Third{
Game game;
public Third(Game g){
game = g;
}
public Third(){
}
public void setGame(Game g){
this.game = g;
}
}
所以第三个例子,让第三个通过一个二传手有一个参考。