fork(1) download
  1. class Sample
  2. {
  3. public static void main (String[] args)
  4. {
  5. Derived foo = new Derived();
  6. Base bar = foo;
  7. System.out.println("Derived foo: " + foo.name);
  8. System.out.println("Base bar: " + bar.name);
  9. }
  10. }
  11.  
  12. abstract class Base {
  13. public static String name = "Base";
  14. public String getName() {
  15. return Base.name;
  16. }
  17. }
  18.  
  19. class Derived extends Base {
  20. public static String name = "Derived";
  21. public String getName() {
  22. // 型名を省略したりthisを使ってもいいが、
  23. // いずれにせよ派生クラスごとに実装する必要がある。
  24. return Derived.name;
  25. }
  26. }
Success #stdin #stdout 0.1s 320512KB
stdin
Standard input is empty
stdout
Derived foo: Derived
Base bar: Base