Java 取决于构造函数的可运行函数
在Java中,如何让一个可运行类根据其构造函数选择其函数 例如:Java 取决于构造函数的可运行函数,java,constructor,Java,Constructor,在Java中,如何让一个可运行类根据其构造函数选择其函数 例如: Class A implements Runnable { public A(int var) { //things go here } public A(int var1, String var2) { //things go here } public void run() { //do (a) if Constructor A(in
Class A implements Runnable {
public A(int var) {
//things go here
}
public A(int var1, String var2) {
//things go here
}
public void run() {
//do (a) if Constructor A(int var)
//do (b) if Constructor A(int var1, String var2)
}
}
您可以这样做:
class A implements Runnable {
int constructor;
public A(int var) {
//things go here
constructor = 1;
}
public A(int var1, String var2) {
//things go here
constructor = 2;
}
public void run() {
if (constructor == 1) ...
if (Constructor == 2) ...
}
}
但我建议使用多态性。看起来这是两类不同的对象。您可以这样做:
class A implements Runnable {
int constructor;
public A(int var) {
//things go here
constructor = 1;
}
public A(int var1, String var2) {
//things go here
constructor = 2;
}
public void run() {
if (constructor == 1) ...
if (Constructor == 2) ...
}
}
但我建议使用多态性。看起来这是两类不同的对象。我将设置一个模式:
我会设置一个模式:
@drum-yeah-使用
if
或case
语句:与选择运行任何一段代码的方式相同。@drum-yeah-使用if
或case
语句:与选择运行任何一段代码的方式相同。这与我的建议基本相同,只是我要保持简单:为什么不定义匿名Runnable是为了让您始终坚持使用Runnable接口?不需要引入更多的“类型”来跟踪头部内部。。。(记住这是关于近似函数的。)我想这是一个品味的问题。我认为添加新类型实际上会降低代码的复杂性,如果它们有适当的文档记录和组织。还要注意,这种方法不需要任何条件代码。我们的建议大致相同,只是我会保持简单:为什么不定义匿名Runnable,以便始终坚持Runnable接口?不需要引入更多的“类型”来跟踪头部内部。。。(记住这是关于近似函数的。)我想这是一个品味的问题。我认为添加新类型实际上会降低代码的复杂性,如果它们有适当的文档记录和组织的话。