2016-10-21 1 views
0

이 코드 한 : 내 말은이 때문에 bukkit되어 내가 다른 클래스의 데이터의 인스턴스를 할 수있는 방법을다른 클래스에서 변수의 인스턴스를 생성

File fileData = new File(this.getDataFolder(), "data.yml"); 
    FileConfiguration data = YamlConfiguration.loadConfiguration(fileData); 
    data.options().copyDefaults(true); 
    try { 
     data.save(fileData); 
    } catch (IOException e) { 

     e.printStackTrace(); 
    } 

지금 내 질문은을 내가해야 할 또 다른에 그 클래스 내가 명령 data.save (fileData)를 실행할 수 있습니다;

+0

합니다. 새 인스턴스를 원한다면 다른 클래스에서 여기서하고있는 일을 수행하십시오. –

+0

어떻게 실제로 이해할 수 없는지, 저는 정말로 초보자입니다.이 파일은 onEnable 메서드가 재정의되었습니다. –

답변

0

당신은 당신이이 객체는 당신과 같이 일을 할 수있는이 클래스에서 작성해야 할 다른 클래스를 가정하고, 생성자를 사용하는 다른 클래스에의 참조를 가지고 FileConfiguration,의 특정 인스턴스를 수있는 유일한 방법이 필요한 경우 :

class YourClass{ 
    File fileData; 
    FileConfiguration data; 

    @Override 
    void onEnable(){ 
     fileData = new File(this.getDataFolder(), "data.yml"); 
     data = YamlConfiguration.loadConfiguration(fileData); 
     data.options().copyDefaults(true); 
     try { 
      data.save(fileData); 
     } catch (IOException e) { 

      e.printStackTrace(); 
     } 
    } 

    void theMethodWhereYouInstantiateTheOtherClass(){ 
     OtherClass oc = new OtherClass(); 
    } 
} 

그리고 다른 클래스과 같이 보일 것이다 : 동일한 데이터 객체가 다른 클래스의 메서드에 매개 변수로 전달합니다

class OtherClass{ 
    FileConfiguration data; 

    public OtherClass(FileConfiguration data){ 
     this.data = data; 
    } 
} 
관련 문제