/*
 * "Grundkurs Programmieren in Java - Band 1 (3. Auflage, 2006)I"
 * 2001-2006, Carl Hanser Verlag
 * Quelltext zu Aufgabe 11.16 (Version 3.0)
 * (c) 2001-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */


class D extends C {
  public void tell() {
    System.out.println("DDDD");
  }
}

/* ****************************************************************** */

class C extends B {
}

/* ****************************************************************** */

class B extends A {
  public void tell() {
    System.out.println("BBBB");
  }
}

/* ****************************************************************** */

class A {
  private void tell() {
    System.out.println("AAAA");
  }
}

/* ****************************************************************** */

public class ABCD {

  public static void main (String[] args) {
    A a = new A();
//    a.tell();  // Aufruf 1
    B b = new B();
//    b.tell();  // Aufruf 2
    C c = new C();
//    c.tell();  // Aufruf 3
    D d = new D();
    d.tell();  // Aufruf 4
  }

}
