다른 클래스의 최종 필드에 액세스하는 좋은 방법은 무엇입니까? 비공개 만드는 그것은 기본적으로 직접 variable.methodname을 사용하여 유지하여 게터의 기능과 세터 방법다른 클래스의 java에서 최종 필드에 액세스하기위한 올바른 방법
public class Game extends JPanel {
private final Racquet racquet;
public Game() {
racquet = new Racquet(this);
}
}
public class Ball {
private Game game;
Ball(final Game game) {
this.game = game;
}
void move(int speed) {
if (collision()) {
y = game.getRacquet().getTopY() - DIAMETER;
}
}
}
public class Racquet {
final Game game;
public Racquet(final Game game) {
this.game = game;
}
public int getTopY() {
return Y;
}
}
B)를 제공하여 다른 클래스에서 격리를
A).
public class Game extends JPanel {
final Racquet racquet;
}
public class Ball {
void move(int speed) {
if (collision()) {
y = game.racquet.getTopY() - DIAMETER;
}
}
}
public class Racquet {
final Game game;
public Racquet(final Game game) {
this.game = game;
}
public int getTopY() {
return Y;
}
}
최종 필드에 직접 액세스하면 성능이 향상됩니까?
저는 Racquet 클래스에서 메소드를 이동해야합니다. 예. 위로 이동, 아래로 이동, 등등. 메소드가 내부적으로 작업을 수행하게하십시오. –
y = game.getRacquet(). getTopY() - DIAMETER; A와 y = game.getRacquet(). getTopY() - DIAMETER; in B – Gaurav
볼 클래스에서 라켓 (위치) 속성을 가져 와서 지름을 뺍니다. 공의 위치를 라켓에 건네고 메서드가 게터를 호출하는 대신 작업을 수행하도록하십시오. –