Eclipse 有一个自动 Java 清理功能,称为:
change indirect access to static members to direct access (accesses through subtypes)"`
这是什么意思?
编辑:请注意,还有另一个
change non-static access to static members using declaring type
所以我询问的主题必须与此不同。
这些位于 Windows > Preferences > Java > CodeStyle > Clean-Up
中,几乎不可能找到,因为它位于 Windows
下。
最佳答案
假设你有类(class)
class A {
static int i;
}
然后
change indirect access to static members to direct access (accesses through subtypes)
指的是你有另一个类(class)的情况
class B extends A {}
并写
B.i = 2;
在这种情况下,清理会将其更改为
A.i = 2;
因为(正如我在评论中所写的)静态成员将通过声明它的类( A
)进行访问,而不是通过继承它的类( B
)进行访问。
change non-static access to static members using declaring type
指的是你写的情况
A a = new A();
a.i = 2;
在这种情况下,清理会将其更改为
A.i = 2;
因为静态成员将通过类 ( A
) 而不是通过类的实例 ( a
) 访问。
关于java - Eclipse Java 清理功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552892/