Exercise 1: (2) Create a simple class. In the second class, a reference is defined as the object of the first class. Use lazy initialization to instantiate this object.
Package Test;public class Manager {public static void main (String args[]) {Second s=new Second (); S.getfirst ();} /** * Printed result: */}class first{}class Second{first F; Second () {System.out.println ("Creating Second");} First lazy () {if (f==null) {System.out.println ("Creating first"); F=new first ();} return F;} Public first GetFirst () {return lazy ();}}
Exercise 2: (2) inherit from detergent to produce a new class. Overwrite scrub () and add a new method named Sterilize ().
Package Test;public class Manager {public static void main (String args[]) {Sub S=new sub (); S.apply (); S.dilute (); S.foam (); S.scrub (); S.sterilize (); new print (s);} /** * Print Result: Cleanser apply () dilute () foam () Sub.scrub detergent.scrub () sub.sterilize () */}class print{print (Object obj) { System.out.println (obj);}} Class Cleanser{private string s= "cleanser";p ublic 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 (); new print (x);}} Class Detergent extends cleanser{public void scrub () {Append ("Detergent.scrub ()");} public void Foam () {Append ("foam ()");}} Class Sub extends detergent{public void scrub () {Append ("Sub.scrub"); Super.scrub ();} public void sterilize () {Append ("sub.sterilize ()");}}
Java Programming Ideas Fourth Edition * Seventh * personal exercise