import java.applet.*; public class Teste extends Applet { public void start() { A objectoA = new A(); B objectoB = new B(); System.out.println("Aqui vai mensagem surpresas() para objectoA..."); objectoA.surpresas(); System.out.println("Aqui vai mensagem surpresas() para objectoB..."); objectoB.surpresas(); } } class A { void m1() { System.out.println("Executei m1() na classe A"); } void m2() { System.out.println("Executei m2() na classe A"); } void surpresas() { System.out.println("Executei surpresas() na classe A"); m1(); // atenção: é o mesmo que this.m1() m2(); // ... this.m2() } } class B extends A{ void m1() { System.out.println("Executei m1() na classe B"); } void m2() { System.out.println("Executei m2() na classe B"); super.m2(); } }