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

2 つのクラスが同じパッケージに含まれている場合は、それらをインポートする必要はありません。

Classname.methodName(possibleParameter);

同じパッケージにない場合は、Bernhard Poiss が述べたようにパッケージをインポートします。

于 2013-06-09T10:08:44.310 に答える
0

次の場合を除き、このようなことがどのように発生するかわかりません。

  1. classB は、classA の静的内部クラスまたはその種のものです。
  2. どこかに静的インポートがあります(クラスをパッケージ内に配置した場合にのみ機能します)。
于 2013-06-09T10:20:14.460 に答える