Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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_Static_Static Methods_Static Members_Syntactic Sugar - Fatal编程技术网

Java 更清晰地访问静态字段和方法?

Java 更清晰地访问静态字段和方法?,java,static,static-methods,static-members,syntactic-sugar,Java,Static,Static Methods,Static Members,Syntactic Sugar,我使用了一个Java助手类,它包含几个静态字段和方法: doSomething(doableThing, TrackingHandler.EVENT_AREA_FINANCE, TrackingHandler.SUCCEEDED(TrackingHandler.EVENT_KEY_THING)); 我试图找到一种更干净的方法来引用我的静态字段和方法,而不必重复TrackingHandler类名太多次 我意识到这不是完全相同的想法,但类似于C#的“使用”的东西会很好: using Trackin

我使用了一个Java助手类,它包含几个静态字段和方法:

doSomething(doableThing, TrackingHandler.EVENT_AREA_FINANCE, TrackingHandler.SUCCEEDED(TrackingHandler.EVENT_KEY_THING));
我试图找到一种更干净的方法来引用我的静态字段和方法,而不必重复TrackingHandler类名太多次

我意识到这不是完全相同的想法,但类似于C#的“使用”的东西会很好:

using TrackingHandler
{
    doSomething(doableThing, EVENT_AREA_FINANCE, SUCCEEDED(EVENT_KEY_THING));
}
有办法做到这一点吗?

您可以使用:

然后只需将静态成员用作:

doSomething(doableThing, EVENT_AREA_FINANCE, SUCCEEDED(EVENT_KEY_THING));
静态导入构造允许对静态成员进行非限定访问,而无需继承包含静态成员的类型

静态导入声明类似于正常导入声明。如果正常导入声明从包中导入类,允许它们在没有包限定的情况下使用,则静态导入声明从类中导入静态成员,允许它们在没有类限定的情况下使用

那么什么时候应该使用静态导入?非常节俭仅当您试图声明常量的本地副本或滥用继承(常量接口反模式)时才使用它

建议阅读:

  • 注意:如果不加区别地使用静态导入,可能会使代码更难理解。

    您可以使用:

    然后只需将静态成员用作:

    doSomething(doableThing, EVENT_AREA_FINANCE, SUCCEEDED(EVENT_KEY_THING));
    
    静态导入构造允许对静态成员进行非限定访问,而无需继承包含静态成员的类型

    静态导入声明类似于正常导入声明。如果正常导入声明从包中导入类,允许它们在没有包限定的情况下使用,则静态导入声明从类中导入静态成员,允许它们在没有类限定的情况下使用

    那么什么时候应该使用静态导入?非常节俭仅当您试图声明常量的本地副本或滥用继承(常量接口反模式)时才使用它

    建议阅读:


  • 注意:如果不加区别地使用静态导入,可能会使代码更难理解。

    但请尽量不要使用静态导入。它们不是很好的编程实践,但是尽量不要使用静态导入。它们不是好的编程实践。