我正在学习JAVA,而且学到的越多,我就越会意识到自己不知道的知识。我无法详细了解对象初始化。 (为简单起见,我没有粘贴整个代码)。先感谢您。
我有一个创建GUI的GUI类,并且有一个名为Calculator的驱动程序类,其中包含Main()方法。我的程序运行良好,我只想详细了解对象初始化,因为我有点困惑。
public class GUI {
GUI() {
}
public static void Init() {
// Code for creating GUI and elements
}
}
public class Calculator {
public static void main(String args[]) {
GUI main = new GUI(); // Option 1
new GUI; // Option 2
GUI.Init(); //Option 3
}
}
所以我的问题是,如果我有一个带有无参数构造函数的类或带有数据的构造函数,那么运行程序的最佳方法是什么?最佳做法是什么?我应该使用哪种方法?
我的理解是:
GUI main = new GUI(); // This will initiate the object, but will not execute
new GUI; // This will initiate and execute my program and run
GUI.Init(); // This will run the method of GUI, therefore can be used to run the program if built that way.
答案 0 :(得分:0)
标准的事情是让init(小写的适当样式)不是静态方法,而是按以下方式运行:
GUI main = new GUI();
main.init();
创建对象,然后调用其方法。这允许进行真正的面向对象的编程。在此范例中,仅驱动程序应该是静态的,然后它应该创建所需的对象并使用它们。
否则,您只会得到一堆调用其他静态方法的静态方法,这违背了面向对象编程的目的。
答案 1 :(得分:0)
这里采用的方法完全取决于您的要求。如果确实不需要对象来调用函数(即:如果不需要为任何变量设置值),则option3将是一个不错的选择。
以下帖子可以帮助您进一步了解这些概念。 https://stackoverflow.com/a/2671636/6761121