2016-10-21 16 views
0

を変数のインスタンスを作成します。私はこのコードを持っている別のクラスに

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(); 
    } 

今、私の質問は、私は他のクラスのデータのインスタンスを行うことができますどのようにですが、私は意味、これはので、私は別であること必要bukkitされますクラスiはコマンド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; 
    } 
} 
関連する問題