0

クラスのオブジェクトを作成せずに、またはJavaで継承せずに、同じパッケージ内のクラス名でメソッドを呼び出すことができます

public class BoxWeight /*extends Box*/{
    public static void main(String[] args) {
        /*BoxWeight myCat = new BoxWeight();*/
        /*Box myAnimal = myCat;*/
        Box.testClassMethod();<------------ why this possible 
        /* myAnimal.testInstanceMethod();*/
    }   
}

public class Box /*extends Bicycle*/{

    public static void testClassMethod() {
        System.out.println("The class" + " method in Box.");
    }
    public void testInstanceMethod() {
        System.out.println("The instance " + " method in Box.");
    }
}

私の質問は「クラスのオブジェクトを作成せずに、またはJavaで継承せずに、同じパッケージ内のクラス名でメソッドを呼び出すことができる」ということですが、これを修正しました。これが可能かどうかを確認したいので、私の質問はこれではありません。

4

2 に答える 2

1

ClassName.methodName()メソッドが宣言されている場合はstatic、構文を使用してメソッドを呼び出すことができます。

class ClassName {
  static void methodName() {
    //...//
  }
}

静的クラスメンバーの詳細については、Javaチュートリアルを参照してください。

于 2012-07-04T11:15:55.897 に答える
0

メソッドを静的にすると、クラス名でそのメソッドを呼び出すことができます。

class A {
static void display(){

    System.out.println("Called..");
}
}

In same package you can call it as .

A.display();
于 2012-07-04T11:17:39.333 に答える