親クラスはメソッドをオーバーライドする場合は、サブクラスでのJavaメソッドは、操作のサブクラスでは、サブクラスの直接メソッドを呼び出します。
サブクラスは親クラスのメソッドをオーバーライドしていない場合、サブクラスのオブジェクトは、まだ親クラスの非プライベートメソッドを呼び出すことができますが、その後の属性方法が使用される属性の親クラスに関連している、とキルトクラスがコールする場合順番に親クラスのメソッドは、サブクラスを呼び出し、そのメソッドは、サブクラスで実行されますが、属性のサブクラスを使用して、関連する属性をオーバーライドしています。
例えば:
クラスA {
int型のx = 6。
プライベートint型のy = 2;
公共A(int型A){
X =。
}
int型ゲッツ(){
int型、Z。
Z = X / Y。
Zを返します。
}
ボイドショー(){
System.out.printlnは( "x =" + X)。
System.out.println( "Y =" + Y)。
System.out.println( "Z =" +ゲッツ())。
}
}
クラスBはA {延び
INT X = 3、Y = 5、Zと、
公共B(INT A){
()スーパー。
}
INTゲッツ(){
Z = X + Y。
Zを返します。
}
}
publicクラスの温度{
パブリック静的無効メイン(文字列[] args){
BのNUM2 =新しいB(9)。
num2.show();
}
}
動作の結果は、次のとおり
X = 9。
Y 2 =
Z = 8。
クラスBは、メソッドを示さないので()メソッドの実行クラスをshwo num2.showように、最初の2行は、xの値を印刷する方法を示し、Yは、クラス(クラスAの特性でありますxの値は、新しいB(9)であるときときコールスーパー())が割り当てられ、第3行の表示方法ゲッツ()は、クラスBに書き換えられ、呼び出しがクラスBでありますゲッツ()メソッド。