如何在不使用classname的情况下调用此方法

时间:2013-06-09 10:01:24

标签: java

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

假设我有一个课程如下,

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

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

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

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

4 个答案:

答案 0 :(得分: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

附注:类名通常始终以大写字母开头

答案 1 :(得分:1)

如果您在班级B static import yourpacage.ClassA中,您可以在不写班级名称的情况下调用静态方法。

答案 2 :(得分:0)

如果这两个类在同一个包中,则无需导入它们,您只需执行:

Classname.methodName(possibleParameter);

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

答案 3 :(得分:0)

我无法看到这样的事情会发生,除非:

  1. classB是classA的静态内部类或类似的东西。
  2. 你在某处有一个静态导入(只有在将类放在包中时才有效)。