// package base; import java.util.*; class Simple extends Item { int weight; public int weight() { return weight; } public Simple(String name,int weight) { this.name = name; this.weight = weight; } // public static Simple make(String n,int w) { // return new Simple(n,w); // } } public class Main { static public void main(String[] argv) { Container c1 = new Container("Container 1",4); Container c2 = new Container("Container 2",1); Container c3 = new Container("Container 3",1); Simple apple = new Simple("apple",1); Simple pencil = new Simple("pencil",1); Simple orange = new Simple("orange",1); Simple kiwi = new Simple("kiwi",1); Simple banana = new Simple("banana",1); c3.addItem(kiwi); // /*\java{c3}*/ weighs 1 c2.addItem(c3); // /*\java{c2}*/ weighs 1 c2.addItem(apple); // /*\java{c2}*/ weighs 2 /*\textbf{overload!}*/ c1.addItem(orange); // /*\java{c1}*/ weighs 1 c1.addItem(pencil); // /*\java{c1}*/ weighs 2 c1.addItem(c2); // /*\java{c1}*/ weighs 4 c1.check(); // /*\java{c1}*/ is ok c1.addItem(banana); // this overflows /*\java{c1}*/ c1.check(); // so /*\java{check}*/ will complain } }