我知道static的定义,它是一个将变量或方法引用到类本身的关键字。这是否意味着如果我在名为parseInt()
的类中编写了一个名为calculator
的方法,而在另一个名为parseInt()
的类中编写了另一个名为mathProgram
的方法,编译器Eclipse将知道哪个类方法parseInt()
指的是什么?
答案 0 :(得分:3)
您需要通过引用它所属的类来调用静态方法:
MathProgram.parseInt();
与
不一样Calculator.parseInt();
所以这样编写,JVM清楚你指的是哪种方法。
编辑:您也可以使用实例变量调用静态方法,但这种形式不好,应该避免使用。有关详细信息,请参阅this SO答案。
Edit2:以下是Java Codding Conventions部分中有关使用从实例变量调用静态方法的链接。 (感谢Ray Toal了解question posted here)
的答案中留下的链接答案 1 :(得分:2)
是的,因为静态方法和变量必须在一个类中,并且要在该类之外调用它们,您需要对它们进行限定。
例如Calculator.parseInt()
和OtherClass.parseInt()
。
Eclipse使用它来区分它们。
答案 2 :(得分:1)
如果mmethod是静态的,则需要使用classname
来调用它Calculator.parseInt();
否则,使用实例
Calculator c = new Calculator();
c.parseInt();
无论哪种方式,它都明确你想要的