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