Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:除了初始化变量,我还应该使用构造函数吗_Java_Android_Methods_Constructor - Fatal编程技术网

Java:除了初始化变量,我还应该使用构造函数吗

Java:除了初始化变量,我还应该使用构造函数吗,java,android,methods,constructor,Java,Android,Methods,Constructor,我正在从事Android和java项目。我的任务是创建一个类,它应该在画布上绘制一个矩形。我想知道,对构造函数进行编程是否是一种好的做法,这样它就可以做的不仅仅是初始化变量。当然,我知道我可以创建一个类的对象,其构造函数将初始化变量,然后调用public方法来绘制矩形。然而,我想知道对构造函数进行编程是否是一种好的做法,它也将绘制矩形,从而摆脱公共方法 任何意见都将不胜感激。最好只在构造函数中进行基本初始化。您应该避免所有长时间运行的操作。只有在你需要的时候才给他们打电话。如果你不想画几次呢?

我正在从事Android和java项目。我的任务是创建一个类,它应该在画布上绘制一个矩形。我想知道,对构造函数进行编程是否是一种好的做法,这样它就可以做的不仅仅是初始化变量。当然,我知道我可以创建一个类的对象,其构造函数将初始化变量,然后调用public方法来绘制矩形。然而,我想知道对构造函数进行编程是否是一种好的做法,它也将绘制矩形,从而摆脱公共方法


任何意见都将不胜感激。

最好只在构造函数中进行基本初始化。您应该避免所有长时间运行的操作。只有在你需要的时候才给他们打电话。

如果你不想画几次呢? 您将为每个绘图创建一个对象,这比为每个绘图创建一个方法调用要昂贵。 而且,它不是标准的,如果其他人使用它,他会完全困惑(我不期望它…)

不要这样做

请注意,除了初始化变量之外,还可以执行其他操作,例如注册某种回调注册等


但一般来说,大多数开发人员不希望构造函数中出现绘图、IO或类似的功能。

您希望用户能够在需要时调用draw方法吗?对然后将其保存在公共方法中。不那就保密吧。无论哪种方式,它都应该在一个单独的方法中,而不是在构造函数中。您可以从构造函数调用它,尽管不这样做比较简单。当您创建一个对象时,它可能不会立即收到绘制的输出。只是一个注释。绘制的方法不能是
public
。如果将其保留在同一类中,则可以将其作为
private