Java:在同一类中为静态方法调用使用self关键字

8

在PHP中,是否可以像 self :: 这样做某些事情,以不需要指定类名即可调用同一类中的静态方法。 看看我是怎么做的:

<code>public class Foo
 public static void blaa() {...}
 public void foobar
 {
    Foo.blaa();
 }
</code>

但我希望你能像IT专家一样对待它

public class Foo
 public static void blaa() {...}
 public void foobar
 {
    _SOME_SORT_OF_SELF_.blaa();
 }

不必一遍又一遍地写类名... 静态属性也是如此。不要使用Foo.MY_ATTR,而是通过_SOME_SORT_OF_SELF_.MY_ATTR访问它。

可以实现吗? 谢谢


1
你知道的,不加前缀也可以工作。 - acdcjunior
2
你可以使用 blaa(),无需任何前缀。我认为使用 Foo.blaa() 更清晰,但如果它是当前类,则不必添加类名。 - JB Nizet
噢,好吧,不知道那个。谢谢。但是是的,保持添加类名会使其更清晰一些。不过我更喜欢使用self。属性也是同样的情况吗? - tim
是的,属性也一样。然而,非final静态属性会影响设计质量。 - JB Nizet
1个回答

13
如果您试图在定义它的类中调用静态方法,您无需指定类型。(对于嵌套类,规则会变得有些复杂)。
对于实例方法和变量,您可以在字段访问和方法调用表达式中使用“this”关键字。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接