Соединение двух Java-файлов в Visual StudioJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Соединение двух Java-файлов в Visual Studio

Сообщение Anonymous »

Это мой первый пост, поэтому заранее извиняюсь, если его трудно читать. Я пишу текстовую приключенческую игру на Java и пытаюсь соединить 2 разных файла для запуска одной и той же игры, чтобы сделать ее более организованной.
Прежде чем я подключил файлы, это как работал мой основной файл (HopeTrail).
Я настроил его так, потому что мне нужно, чтобы мой метод startGame был нестатическим, поскольку он прикреплен к ряду нестатических методов, которые позволяют игре развиваться.< /p>

Код: Выделить всё

public class HopeTrail
{
public static void main(String[] args)
{
HopeTrail game = new HopeTrail();
//new instance of the class HopeTrail

game.startGame();
}

public void startGame()
{
System.out.println("The game starts");
introduction();
//introduction is a method in HopeTrail that begins the game
}

public void introduction()
{ ... }
}
Это сработало, но мне хотелось поместить большую часть кода в файл под названием HopeIntro.
Я быстро понял, что основной файл будет не компилировался, когда я пытался это сделать:

Код: Выделить всё

public class HopeTrail
{
HopeIntro intro = new HopeIntro();
//this is connecting the HopeIntro file to my main file

public static void main(String[] args)
{
HopeTrail game = new HopeTrail();
//new instance of the main file HopeTrail

game.startGame();
}

public void startGame()
{
System.out.println("The game starts");
intro.introduction();
//introduction is now in the HopeIntro file and I am calling
// it with 'intro' object
}
}
а вот как выглядит HopeIntro

Код: Выделить всё

public class HopeIntro
{
HopeTrail trail = new HopeTrail();
//this is letting HopeIntro view HopeTrail's methods

public static void main(String[] args)
{
//this is HopeIntro main method
}

public void introduction()
{ ... }
}
Я понимаю, что проблема в том, что я создаю новый экземпляр HopeTrail(); в своем собственном основном методе, а также в классе HopeIntro. Однако я не знаю, как это исправить, продолжая запускать игру.
например, это скомпилировано (потому что новый экземпляр не был объявлен в основном методе), однако это не так. не решу мою проблему.

Код: Выделить всё

public class HopeTrail
{
HopeIntro intro = new HopeIntro();
HopeTrail game = new HopeTrail();

public static void main(String[] args)
{
//intro.introduction(); does not work because:
// "cannot make static reference to the non-static field intro
//and
//game.startGame(); does not work for the same reason
}
}
(HopeIntro выглядит так же, как и в моем последнем примере)
Будем очень признательны за любые мысли. Спасибо, что нашли время прочитать это.
tldr: я хочу соединить 2 Java-файла и по-прежнему использовать экземпляр моего основного файла для запуска игры.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ual-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»