Class Definition Java Tutorial

/*
 *     file: StaticNestedClassDemo.java
 *  package: oreilly.hcj.nested
 *
 * This software is granted under the terms of the Common Public License,
 * CPL, which may be found at the following URL:
 * http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm
 *
 * Copyright(c) 2003-2005 by the authors indicated in the @author tags.
 * All Rights are Reserved by the various authors.
 *
 ########## DO NOT EDIT ABOVE THIS LINE ########## */
/**
 * Demonstrates Static nested Classes.
 * 
 * @author Robert Simmons jr. (kraythe)
 * @version $Revision: 1.3 $
 */
public class StaticNestedClassDemo {
  /**
   * Main method.
   * 
   * @param args
   *          Command line arguments.
   */
  public static void main(final String[] args) {
    OuterClass.SomeClass obj = new OuterClass.SomeClass();
    obj.someMethod();
    // OuterClass.SomeOtherClass prot = new OuterClass.SomeOtherClass(); // <=
    // Compiler error
    OuterClass.doPrivate();
  }
}
/* ########## End of File ########## */
/*
 * file: OuterClass.java package: oreilly.hcj.nested
 * 
 * This software is granted under the terms of the Common Public License, CPL,
 * which may be found at the following URL:
 * http://www-124.ibm.com/developerworks/oss/CPLv1.0.htm
 * 
 * Copyright(c) 2003-2005 by the authors indicated in the @author tags. All
 * Rights are Reserved by the various authors.
 * 
 * ########## DO NOT EDIT ABOVE THIS LINE ##########
 */
/**
 * Demonstration of some static nested classes.
 * 
 * @author Robert Simmons jr. (kraythe)
 * @version $Revision: 1.5 $
 */
class OuterClass {
  /** Holds the name. */
  private static final String name = "Robert";
  /** Holds the company. */
  private static String company = "O'Reilly";
  /** Holds a value. */
  private int value = 5;
  /**
   * Getter for the property company.
   * 
   * @return The current company.
   */
  public static String getCompany() {
    return company;
  }
  /**
   * Getter for the variable name.
   * 
   * @return The current name.
   */
  public static String getName() {
    return name;
  }
  /**
   * Getter for the variable company.
   * 
   * @return the current company.
   */
  public int getValue() {
    return value;
  }
  /**
   * Demo of instatiation of a private class.
   */
  public static void doPrivate() {
    SomeOtherClass cl = new SomeOtherClass();
    cl.someMethod();
  }
  /**
   * A demo nested static class.
   * 
   * @author Robert Simmons jr. (kraythe)
   * @version $Revision: 1.5 $
   */
  public static class SomeClass {
    /**
     * a demo method.
     */
    public void someMethod() {
      System.out.println(company);
      System.out.println(name);
      // System.out.println(value); // <= Compiler error
    }
  }
  /**
   * A demo nested static class.
   * 
   * @author Robert Simmons jr. (kraythe)
   * @version $Revision: 1.5 $
   */
  protected static class YetAnotherClass {
  }
  /**
   * A demo nested static class.
   * 
   * @author Robert Simmons jr. (kraythe)
   * @version $Revision: 1.5 $
   */
  private static class SomeOtherClass {
    /**
     * a demo method.
     */
    public void someMethod() {
      System.out.println("Protect me!");
    }
  }
}
/* ########## End of File ########## */