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)