java static关键字

时间:2011-10-25 01:59:13

标签: java static keyword

我知道static的定义,它是一个将变量或方法引用到类本身的关键字。这是否意味着如果我在名为parseInt()的类中编写了一个名为calculator的方法,而在另一个名为parseInt()的类中编写了另一个名为mathProgram的方法,编译器Eclipse将知道哪个类方法parseInt()指的是什么?

3 个答案:

答案 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();

无论哪种方式,它都明确你想要的