Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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 导入或实现可重用静态? 选项1:_Java_Inheritance_Interface_Static_Classloader - Fatal编程技术网

Java 导入或实现可重用静态? 选项1:

Java 导入或实现可重用静态? 选项1:,java,inheritance,interface,static,classloader,Java,Inheritance,Interface,Static,Classloader,然后: import com.me.myorg.myapp.WidgetStatics public class Thing1 { public void doSomething() { String x = getValueFromUser(); if(x.equals(WidgetStatics.FIZZ)) // ... } } public class Thing2 implements WidgetStatic

然后:

import com.me.myorg.myapp.WidgetStatics

public class Thing1 {
    public void doSomething() {
        String x = getValueFromUser();
        if(x.equals(WidgetStatics.FIZZ))
            // ...
    }
}
public class Thing2 implements WidgetStatics {
    public void doSomething() {
        String x = getValueFromUser();
        if(x.equals(FIZZ))
            // ...
    }
}
选项2: 然后:

import com.me.myorg.myapp.WidgetStatics

public class Thing1 {
    public void doSomething() {
        String x = getValueFromUser();
        if(x.equals(WidgetStatics.FIZZ))
            // ...
    }
}
public class Thing2 implements WidgetStatics {
    public void doSomething() {
        String x = getValueFromUser();
        if(x.equals(FIZZ))
            // ...
    }
}
我的问题是:

  • 一种选择比另一种更有效吗?哪一个会导致类加载器更费力:导入还是实现
  • 是否存在一种方法比另一种更可取/更干净的特定用例

解决特定问题的方法总是不止一种

Java中引入了接口来解决某些设计问题。其中之一当然是流行的多重继承问题。使用接口的另一个重要场景是,您希望设计一个类结构,其中某些类必须遵守接口中定义的约定(因此它们需要实现相关接口)


因为在您的情况下,您似乎没有强制执行任何此类合同或设计建议,所以我建议您不要为此使用接口

选项3:
import static com.me.myorg.myapp.WidgetStatics.*选项4:
公共枚举WidgetStatistics{FIZZ,BUZZ}