// 親クラス
class Base{
public int a;
private int b;
}
// 子クラス
class Deriv extends Base{
public int b;
private int c;
public void member_func_deriv(){
a = 1; // 派生クラスにはないので、親クラスのaを参照
b = 2; // 派生クラスのbを参照
c = 3; // 派生クラスのcを参照
super.a = 10; // Baseクラスのaを参照
// super.b = 20; // Baseクラスのbを参照しようとするが、privateなのでエラー
int a;
double b;
a = 100; // メソッド内が優先される
b = 1.1; // 型が違っても大丈夫
}
public static void main(String args[]){
Deriv d = new Deriv();
d.a = 10; // 派生クラスにはないので、親クラスのaを参照
d.b = 10; // 派生クラスのbを参照
d.c = 10; // 派生クラスのcを参照しようとするが、privateなのでエラー
// d.super.a = 10; // このような使い方はできない
}
}
|