java - Eclipse Java 清理功能

标签 java eclipse

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/

相关文章:

eclipse - 为 Apache Mesos 配置 Eclipse CDT

java - HttpClientErrorException : 401 Unauthorized basic authentication

java - 每行打印 10 个数字

java - 方法体的参数列表怎么可能有一个类?

java - DNS 如何与 Java 套接字配合使用?

android - Eclipse 新类,未找到 MapActivity!

java - Apache tomcat 还是 apache ant?

java - 运行 Java Web 应用程序时出现 SQLException

java - 可序列化类 Employee 没有声明 long 类型的静态最终 serialVersionUID 字段

Java 日志记录框架 - 支持 printf()