최근에 Java로 많이 놀아 왔어 & 필자는 내 목적에 따라 &과 통신 할 수있는 여러 객체가 필요하다는 것을 발견했다. GUI 클래스를 생성하는 특정 클래스를 모든 변수, 필드, 기타 클래스는 편집해야합니다. 내가 찾은 가장 단순하지만 잘못된 방법은 MainClass 파일의 GUI 클래스를 인스턴스화 한 다음 GUI 클래스의 메소드와 변수에 명시 적으로 액세스해야하는 다른 클래스를 인스턴스화 할 때 GUI를 전달하기 만하면됩니다 그들에게 반대하십시오.다른 클래스에 객체를 전달하면 새로운 별도의 객체가 생성됩니까?
내 문제는 이미 생성 된 개체에 대한 액세스를 열거 나 완전히 새로운 개체를 만드는 것인지 확인할 수 없다는 것입니다. 후자의 경우 몇 가지 새로운 GUI 객체를 열면 아무 것도 얻지 않고 모든 것을 복제 할 것이므로 피해야 할 것입니다.
아래와 같이 (무의식적으로 만든) 코드를 포함하므로 내 질문이 있습니다 : 새로운 중복 개체를 만들지, 아니면 다른 클래스가 새 클래스를 만들지 않고 해당 인스턴스에 액세스하도록 허용합니까?
메인 클래스 코드 :
public class PlateauMainClass {
/**
* @param args the command line arguments
*/
PlateauJGui plateauGui;
GenerateGUI plateauGuiDataGen;
PlateauMainClass() {
// Instantiate the plateauGui object, then pass it into the GUI generator.
// The GUI generator will generate data for the different GUI elements.
plateauGui = new PlateauJGui();
plateauGuiDataGen = new GenerateGUI(plateauGui);
// Finally, makes the frame actually visible.
plateauGuiDataGen.makeFrameVisible();
}
public static void main(String[] args) {
// TODO code application logic here
new PlateauMainClass();
}
}
내선. 클래스 예제 코드 :
public class GenerateGUI {
PlateauJGui gui;
GenerateGUI(PlateauJGui o) {
gui = o;
}
public void makeFrameVisible() {
gui.setVisible(true);
}
}
참조하십시오. http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value –
간단한 참조 평등 검사를 수행 했습니까? –
재미있는 읽을 거리! 고맙습니다 =) – Tenaar