2014-11-07 2 views
1

"새 인스턴스가 무시되었습니다." 메시지에 다음 코드가 포함 된 이유는 무엇입니까?새 인스턴스가 무시되었습니다.

public static void main(String[] args) 
{ 
    Inferno infernogame= new Inferno(); 
    new Configuration(infernogame, appwidth, appheight,"Inferno...."); 
    new Thread(infernogame).start();  
} 

호출하는 : 그것은 여전히 ​​작동하더라도

public class Configuration 
{  
    public Configuration (Inferno application, int appwidth, int appheight, String apptitle){ 
     application.getContentPane().setBackground(Color.GRAY); 
     application.setResizable(false); 
     application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     application.setTitle(apptitle); 
     application.setSize(appwidth,appheight); 
     application.setLocationRelativeTo(null); 
     application.setVisible(true); 
     application.setFocusable(true); 
     application.requestFocus(); 
    } 
} 

를?

답변

3

new Configuration(infernogame, appwidth, appheight,"Inferno....")

는 새 구성 인스턴스를 만드는,하지만 당신은 변수에 저장하지 않고 그것으로 아무것도하지 않습니다.

새 인스턴스에 대한 참조가 없으므로 가비지 수집을 즉시받을 수 있습니다.

+0

감사합니다. 구성 클래스를 호출하여 처음부터 응용 프로그램을 구성하려고합니다. JAVA에는 정적 클래스가 없으므로이 방법을 달성 할 수있는 방법을 제안 할 수 있습니까? – Munkybunky

+0

@Munkybunky 정적 메서드로 변환 – Frunk

+0

@Munkybunky 변수에 할당 할 수 있습니다. 'Configuration config = new Configuration (infernogame, appwidth, appheight, "Inferno ...."); ' – Eran

1

Configuration 개체를 만들고 코드에서 아무 것도하지 않기 때문에 경고가 나타납니다 (예 : 변수에 할당하여 나중에 사용할 수 있음).

경고를 표시하므로 무시해도되지만 코드를 사용하지 않는 한 일반적으로 클래스의 인스턴스를 만들지 않는다는 점에서 코드가 약간 특이합니다.

관련 문제