/*
* 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 ########## */