我正在爲CraftBukkit編寫一個插件,並已將類和方法分解爲單獨的文件供組織使用。我有的問題是我需要傳遞插件到其他類爲了使用它的方法。例如:在需要構造函數的參數的類中使用方法(Bukkit插件)
SimpleBans.java
public class SimpleBans extends JavaPlugin {
private final DatabaseManager dm = new DatabaseManager(this);
}
DatabaseManager.java
public class DatabaseManager {
private Plugin plugin;
public DatabaseManager(SimpleBans pluginConstructor) {
plugin = pluginConstructor;
}
public void writeData(String SQL) {
// Pseudo code: Write plugin.getName(); into the database.
}
現在工作正常。但是,如果我想從另一個類使用writeData
方法,我沒有什麼作爲參數傳遞例如:
PlayerListener.java
public class PlayerListener {
private final DatabaseManager dm = new DatabaseManager(SOMETHINGGOESHERE);
}
我不能用這個空或者因爲它必須是一個插件來匹配DatabaseManager.java
中的構造函數參數。
這一直困擾着我多年。任何幫助都會受到歡迎。
public class DatabaseManager {
public static DatabaseManager initManager() {
SimpleBans simpleBans = new SimpleBans(); //Or however you construct it
return new DatabaseManager(simpleBans);
}
}
然後在你的其他類,只需撥打: