継承について
自分があやふやなところを確認
public class ExtendsTest { public static void main(String[] args) { Hoge hoge0 = new Hoge(); // ←できない Hoge hoge = new Piyo(); Piyo piyo = new Piyo(); hogeMethod(hoge); // ←できない hogeMethod(piyo); // ←できる Hoge fuga1 = new Fuga(); Fuga fuga2 = new Fuga(); Fuga fuga3 = new Piyo(); // ←できない fuga1.baz = 'a'; // ←できない fuga2.baz = 'b'; // ←できる hogeMethod(fuga2); // ←できる } public static Hoge hogeMethod(Piyo piyo) { piyo.bar = 30; return piyo; } } abstract class Hoge { int foo; } class Piyo extends Hoge { float bar; } class Fuga extends Piyo { char baz; }
勉強不足を感じた。