这是我们初始化对象的正确方法吗?
我有一个班级Sample
我想在Sample1类中初始化Object
在初始化之后,我不需要使用Sample Class的对象。
在那种情况下如果我不打算在Sample1类中的任何地方使用s,我可以将该对象初始化为new Sample();
而不是Sample s = new Sample();
我的问题是,这是一个很好的做法吗? 会不会有任何影响
答案 0 :(得分:1)
如果你不需要它为什么要初始化它?
答案 1 :(得分:1)
我经常遇到你在我的应用程序的主要方法中描述的困境;我想初始化应用程序类,但之后不需要引用它,例如:
public class MyApplication {
public MyApplication() {
// Initialize and run application
}
public static void main(String[] args) {
new MyApplication();
}
}
有些人认为这是代码味道。但是,为了保持无用的引用而添加局部变量或字段似乎也是错误的。对你的问题的简短回答:没有负面的副作用,设计是否糟糕还有争议。
这方面的一种方式是对你的构造函数更加纯粹。有人可能会认为构造函数应仅用于初始化,而不是用于启动应用程序。然后你可以将这些问题分开如下:
public class MyApplication {
public MyApplication() {
// Initialize application
}
public void run() {
// Run application
}
public static void main(String[] args) {
MyApplication app = new MyApplication();
app.run();
}
}
您可以将此视为有效的设计决策,同时也解决了您未引用的实例问题!
答案 2 :(得分:0)
你可以这样做,但除非你将Sample singleton设为样本,否则每次为它创建一个对象时都会初始化它。我不确定这是否是您想要的,因为您没有指定您正在初始化的内容。可能有更好的替代方式。指定您正在初始化的内容或您的要求,以便人们可以提供更具体的答案。
答案 3 :(得分:0)