The Java Program: Wrapper.java
1 class Wrapper {
2
3 private final int r,g,b;
4
5 Wrapper (final int red, final int green, final int blue) {
6 r = red; g = green; b = blue;
7 }
8
9 // This method is also completely useless
10 public void getRGBColor (Integer red, Integer green, Integer blue) {
11 red = new Integer(r); green = new Integer(g); blue = new Integer(b);
12 // Changes to local variables are lost when method returns.
13 }
14
15 public static void main (String[] args) {
16 final Wrapper p = new Wrapper (200,225,250);
17 Integer red, green, blue;
18 /*
19 The following are not legal as the variables red, green, and blue
20 have not been initialized!
21
22 p.getRGBColor (red,green,blue);
23 System.out.println ("red="+red+", green="+green+", blue="+blue);
24
25 Initizalizing them does not solve the underlying problem that
26 "getRGBColor" cannot assign to the variables.
27
28 */
29 red=green=blue=null;
30 p.getRGBColor (red,green,blue);
31 // All are still null!
32 System.out.println ("red="+red+", green="+green+", blue="+blue);
33
34 red=green=blue=new Integer(0);
35 p.getRGBColor (red,green,blue);
36 // All are still (the same shared) 0!
37 System.out.println ("red="+red+", green="+green+", blue="+blue);
38 }
39
40
41 }