Mega Code Archive

 
Categories / Java / Class
 

Inheritance syntax and properties

// : c06:Detergent.java // Inheritance syntax & properties. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. class Cleanser {   private String s = new String("Cleanser");   public void append(String a) {     s += a;   }   public void dilute() {     append(" dilute()");   }   public void apply() {     append(" apply()");   }   public void scrub() {     append(" scrub()");   }   public String toString() {     return s;   }   public static void main(String[] args) {     Cleanser x = new Cleanser();     x.dilute();     x.apply();     x.scrub();     System.out.println(x);   } } public class Detergent extends Cleanser {   // Change a method:   public void scrub() {     append(" Detergent.scrub()");     super.scrub(); // Call base-class version   }   // Add methods to the interface:   public void foam() {     append(" foam()");   }   // Test the new class:   public static void main(String[] args) {     Detergent x = new Detergent();     x.dilute();     x.apply();     x.scrub();     x.foam();     System.out.println(x);     System.out.println("Testing base class:");     Cleanser.main(args);   } } ///:~