Returning a reference to an inner class : Inner Class « Class « Java






Returning a reference to an inner class

Returning a reference to an inner class
  
// : c08:Parcel2.java
// Returning a reference to an inner class.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

public class Parcel2 {
  class Contents {
    private int i = 11;

    public int value() {
      return i;
    }
  }

  class Destination {
    private String label;

    Destination(String whereTo) {
      label = whereTo;
    }

    String readLabel() {
      return label;
    }
  }

  public Destination to(String s) {
    return new Destination(s);
  }

  public Contents cont() {
    return new Contents();
  }

  public void ship(String dest) {
    Contents c = cont();
    Destination d = to(dest);
    System.out.println(d.readLabel());
  }

  public static void main(String[] args) {
    Parcel2 p = new Parcel2();
    p.ship("Tanzania");
    Parcel2 q = new Parcel2();
    // Defining references to inner classes:
    Parcel2.Contents c = q.cont();
    Parcel2.Destination d = q.to("Borneo");
  }
} ///:~



           
         
    
  








Related examples in the same category

1.Nested classes can access all members of all levels of the classes they are nested within
2.Creating inner classesCreating inner classes
3.Creating instances of inner classes
4.Nesting a class within a scope
5.Putting test code in a nested class
6.Inheriting an inner class
7.Creating a constructor for an anonymous inner classCreating a constructor for an anonymous inner class
8.This file is to show what happens if you try to access an inner class created in another class
9.Demonstrate an Inner Child classDemonstrate an Inner Child class
10.Demonstrate simple inner classDemonstrate simple inner class
11.Just to show that there is no such thing as inner methods in Java
12.A named inner class is used to
13.An inner class cannot be overriden like a methodAn inner class cannot be overriden like a method
14.Proper inheritance of an inner classProper inheritance of an inner class
15.Using inner classes for callbacksUsing inner classes for callbacks
16.Holds a sequence of Objects
17.With concrete or abstract classes, inner classes are the only way to produce the effect
18.Nested Class Static
19.Compiler will generate a synthetic constructor since SyntheticConstructor() is private
20.Accessing its enclosing instance from an inner class
21.This program demonstrates the use of inner classes
22.This program demonstrates the use of local inner classes
23.This program demonstrates the use of static inner classes