2

我想知道如何在另一个类中调用静态方法。

假设我有以下课程,

class classA
{
public static void method1(String a)
{
}
}

在另一个类中,方法 method1 被调用如下,

class classB
{
public static void main(String[] args)
{
 method1("Alpha");
 }
 }

请注意,ClassB 没有扩展 ClassA,我很困惑。

4

4 回答 4

4

您可以使用静态导入:

import static yourpackage.classA.method1;

有关更多信息,请参阅:http ://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html

如果您使用默认包,导入将失败,请参阅:https ://stackoverflow.com/a/1964006/2039482

旁注:类名通常总是以大写字母开头

于 2013-06-09T10:03:00.380 回答
1

如果你在你的 B 类中有static import yourpacage.ClassA你可以调用静态方法而不写类名。

于 2013-06-09T10:07:19.693 回答
0

如果这两个类在同一个包中,你不必导入它们,你可以简单地去:

Classname.methodName(possibleParameter);

如果不在同一个包中,请导入 Bernhard Poiss 提到的包。

于 2013-06-09T10:08:44.310 回答
0

我看不出这样的事情怎么会发生,除非:

  1. classB 是 classA 的静态内部类或类似的东西。
  2. 您在某处有一个静态导入(仅当您将类放在包中时才有效)。
于 2013-06-09T10:20:14.460 回答