开发者

Favoring static class usage over variable with same name

开发者 https://www.devze.com 2023-04-04 13:53 出处:网络
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 t开发者_StackOverflow社区he static class K over the inheri

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 t开发者_StackOverflow社区he 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)


You may need to refer to the class K with its full name, ie myPackage.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.


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
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消