package net.mindview.reusing; public class A { public A(){ System.out.println("A"); } } package net.mindview.reusing; public class B { public B(){ System.out.println("B"); } } package net.mindview.reusing; public class C extends A { B b = new B(); public static void main(String[] args) { C c = new C(); } }
package net.mindview.reusing; public class Root { private Component1 c1 = new Component1(); private Component2 c2 = new Component2(); private Component3 c3 = new Component3(); public Root() { System.out.println("Root"); System.out.println("Root->c1"); System.out.println("Root->c2"); System.out.println("Root->c3"); } } package net.mindview.reusing; public class Component1 { public Component1() { System.out.println("Component1"); } } package net.mindview.reusing; public class Component2 { public Component2() { System.out.println("Component2"); } } package net.mindview.reusing; public class Component3 { public Component3() { System.out.println("Component3"); } } package net.mindview.reusing; public class Stem extends Root { private Component1 c1 = new Component1(); private Component2 c2 = new Component2(); private Component3 c3 = new Component3(); public Stem() { System.out.println("RootChild"); System.out.println("Stem->c1"); System.out.println("Stem->c2"); System.out.println("Stem->c3"); } public static void main(String[] args) { Root t = new Stem(); } }
package net.mindview.reusing; class Engine { public void start(){} public void rev(){} public void stop(){} public void Service() { System.out.println("Engine.Service"); } } class Wheel { public void inflate(int psi){} } class Window{ public void rollup(){} public void rolldown(){} } class Door{ public Window window = new Window(); public void open(){} public void close(){} } public class Car { public Engine engine = new Engine(); public Wheel[] wheels = new Wheel[4]; public Door left = new Door(),right = new Door(); public Car(){ for(int i=0;i<4; i++){ wheels[i] = new Wheel(); } } public static void main(String[] args) { Car car = new Car(); car.left.window.rollup(); car.wheels[0].inflate(72); car.engine.Service(); } }
package net.mindview.reusing; //两栖动物 class Amphibian{ //交配 public void mating(Amphibian amphibian){ System.out.println("两栖动物交配"); } } //青蛙 public class Frog extends Amphibian{ public static void main(String[] args) { Frog frog = new Frog(); frog.mating(frog); } }
package net.mindview.reusing; //两栖动物 class Amphibian{ //交配 public void mating(Amphibian amphibian){ System.out.println("两栖动物交配"); } } //青蛙 public class Frog extends Amphibian{ public void mating(Frog frog){ System.out.println("青蛙交配"); } public static void main(String[] args) { Frog frog = new Frog(); frog.mating(frog); } }