Monday 11 January 2016

Java Tutorial : Java nested classes(Local Classes-Static)

OuterClass.java
public class OuterClass
{

    private String name = "John";

    public void greetInEnglish()
    {
        class SayHello
        {
            /*
             * We cannot declare static variable or static methods in a local
             * class.
             */

            public static String message = "Welcome";

            public static void greet()
            {
                System.out.println(message);
            }
        }

        SayHello sayHello = new SayHello();
        sayHello.greet();

    }
}
LocalClassTest.java
public class LocalClassTest
{
    public static void main(String args[])
    {
        OuterClass outerClass = new OuterClass();
        outerClass.greetInEnglish();
    }

}
Output
Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The field message cannot be declared static in a non-static inner type,     
    unless initialized with a constant expression
    
    The method greet cannot be declared static; static methods
    can only be declared in a static or top level type

    at OuterClass$1SayHello.<init>(OuterClass.java:15)
    at OuterClass.greetInEnglish(OuterClass.java:23)
    at LocalClassTest.main(LocalClassTest.java:7)
Click the below link to download the code:
https://sites.google.com/site/javaee4321/java/NestedClassDemo-LocalClass-Static-App.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/NestedClassDemo-LocalClass-Static-App

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/d3069ae3fffccb0c6ba4336662b6a2619d880c61/BasicJava/NestedClassDemo-LocalClass-Static-App/?at=master

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • No comments:

    Post a Comment