优先使用静态类而不是同名变量

发布于 2024-12-04 03:17:06 字数 121 浏览 2 评论 0原文

B类扩展了A类,A类有一个名为K的变量,我也有一个名为“K”的静态类。在类 B 中是否有一种方法可以优先使用静态类 K 而不是继承变量 K?

(我正在使用经过混淆的反编译代码,我无法重命名 K 的任何一个版本)

Class B extends Class A, Class A has a variable named K, I have a static Class named "K" also. Is there a way inside class B to favor using the static class K over the inherited variable K?

(I am working with decompiled code that was obfuscated, I cannot rename either of the versions of K)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

撕心裂肺的伤痛 2024-12-11 03:17:06

您可能需要引用类 K 及其全名,即 myPackage.K

You may need to refer to the class K with its full name, ie myPackage.K

萌无敌 2024-12-11 03:17:06

由于 K 在默认包中,我认为您唯一的选择是使用反射引用类 K,或者编写一个类来包装 K,以便您可以使用不同的名称。或者,如果您需要 K 的一些静态成员,您也可以使用静态导入来获取它们。

Since K is in the default package, I think your only options will be to refer to class K using reflection or else write a class to wrap K so you can use a different name. Or if you're after some static members of K, you could use static imports to get at them, too.

小女人ら 2024-12-11 03:17:06

这有效吗?

class A {
    int X;
}

class B extends A {
    static class X {}
    void foo() {
        X = 5;  // A.X variable
        B.X x = new B.X(); // B.X nested class
    }
}

Does this work?

class A {
    int X;
}

class B extends A {
    static class X {}
    void foo() {
        X = 5;  // A.X variable
        B.X x = new B.X(); // B.X nested class
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文