我对 Java 比较陌生,我正在为在线游戏 Minecraft 编写扩展/插件。
我最近开始了“更大”的项目,这些项目需要更多的课程来保持整洁。我仍在尝试完全理解构造函数的工作原理,但最近的尝试导致堆栈溢出(一个构造函数调用另一个构造函数,在循环中)。
例如,就我而言,我有两个类, Main
并且MySQL
.
主类初始化插件,MySQL 类联系数据库并将数据返回给任何调用它的类。
有问题的代码示例:
Main.java
class Main extends JavaPlugin {
private final MySQL mysql = new MySQL();
//Method which is called first
void onEnable(){
//Just an example of initializing
mysql.init();
mysql.open();
}
}
MySQL.java
class MySQL {
private final Main main = new Main();
void init(){}
void open(){}
}
我知道问题是什么,我只是不知道正确的解决方案,这将适用于更多的课程。
另外,如果我有另一个类, main 将连接到 MySQL,另一个类将与之通信,我应该做一些类似于main.mysql.method的事情吗?
对于构造函数和实例(“new”关键字)如何工作的简化、易于理解的解释将不胜感激。提前致谢 !