質問が 2 つあり
ます。
メソッドの引数はメソッドのオーバーライドで何らかの役割を果たしますか?
なぜ静的メソッドはコンパイル時にバインドすると言いますが、実際には静的メソッドはクラスの読み込み時にメモリを割り当てますか? javacツールを使用すると、コンパイラを使用してJavaファイルをコンパイルするため、その瞬間に静的メモリが割り当てられず、静的メモリがクラスのロード時間を割り当てます。なぜ静的メソッドがコンパイル時のバインディングを使用すると言うのですか
クラスのロード時間はコンパイル時間と同じですか? 私は混乱しています
私はここでメソッドの署名が異なることを知っているので、ここで実際に起こることよりもここでオーバーライドしないでください
class A
{
void sh(char x){
System.out.println("value of x : "+x);
}
}
class B extends A
{
public void sh(int x)
{
System.out.println("value of x"+x);
}
}
class C
{
public static void main(String...Aa) /* ??? */
{
A a1=new B();
//a1.show();
a1.sh('a');
a1.sh(10);
}
}