class LocalInner{
private String message = "dineshonjava.com";//instance variable
void display(){
class Local{
void msg(){
System.out.println(message);
}
}
Local loc = new Local();
loc.msg();
}
public static void main(String args[]){
LocalInner obj = new LocalInner();
obj.display();
}
}
output:
import java.io.PrintStream;
class LocalInner$1Local
{
final LocalInner this$0;
LocalInner$1Local()
{
super();
this$0 = LocalInner.this;
}
void msg()
{
System.out.println(LocalInner.access$000(LocalInner.this));
}
}
class LocalInner{
private String message = "dineshonjava.com";//instance variable
void display(){
int data = 20;//local variable must be final
class Local{
void msg(){
System.out.println(message+" : "+data);//compile time error
}
}
Local loc = new Local();
loc.msg();
}
public static void main(String args[]){
LocalInner obj = new LocalInner();
obj.display();
}
}

class LocalInner{
private String message = "dineshonjava.com";//instance variable
void display(){
final int data = 20;//local variable must be final
class Local{
void msg(){
System.out.println(message+" : "+data);
}
}
Local loc = new Local();
loc.msg();
}
public static void main(String args[]){
LocalInner obj = new LocalInner();
obj.display();
}
}
Output:
Labels: Core JAVA