クラスの継承について誤っておぼえてたので間違いの履歴として残す。
スーパークラスを継承したら、スーパークラスの内容をメソッドなどを使かえるようになったBのクラスだと思っていた。
しかし、実際は
インスタンスがA型の場合はBのクラスであってもAのメソッドしか使えない。 A型で宣言したものは使用できるのがAクラスで定義されたメソッドのみに限定される。class A{
public void hello(){
System.out.println("hello");
}
}
class B extends A{
public void sample(){
System.out.println("sample");
}
}
public class Main{
public static void main(String[] args){
A a = new B();
a.sample(); //Aクラスには存在しないメソッドなのでコンパイルエラー
}
}