Я делаю небольшую игру, в которой класс Main хранит все объекты и переменные и вызывает методы внутри самих классов, которые выполняют большую часть работы. Довольно стандартный. К сожалению, это означает, что многие из переменных, которые мне нужны, находятся в главном классе, где я не могу получить к ним доступ.Переменные основного класса Java Access
Например, в качестве теста я хотел, чтобы мяч отскочил вокруг экрана, достаточно простой, но мне нужны размеры экрана, которые я могу легко получить с помощью метода getSize()
в основном классе. Но когда я создаю класс Ball
, который будет отскакивать, я не могу получить доступ к методу getSize()
, потому что он находится в классе Main
. Есть ли вообще позвонить?
Я знаю, что могу передать переменные классу Ball
в конструкторе или для каждого метода, который мне нужен, но я хочу посмотреть, есть ли какой-либо способ, который я могу принять, какие переменные мне нужны, когда они мне нужны, а не проходить это вся информация всякий раз, когда я создаю новый объект.
Main.class
public void Main extends JApplet {
public int width = getSize().width;
public int height = getSize().height;
public void init(){
Ball ball = new Ball();
}
}
Ball.class
public void Ball {
int screenWidth;
int screenHeight;
public Ball(){
//Something to get variables from main class
}
}
Awesome, это именно то, что я искал. Теперь каждый класс может получить доступ к переменным в константах, не передавая их каждый раз. Большое спасибо. – Doug