| Refresh | Home EGTry.com

static or non-static nested class


NestedClass.java

package simple.sample;

public class NestedClass {

	private int val=1;
	public static void main(String[] args) {
		StaticClass1 sc1=new StaticClass1(); // or NestedClass.StaticClass1
		System.out.println(sc1.getId());
		
		NestedClass top=new NestedClass();
		System.out.println("value:"+top.getValue());


		
	}

	public int getValue() {
		MemberClass1 mc1=this.new MemberClass1(); // can only instantiate inside a non-static member method
		return mc1.getValue();
	}
	
	private static class StaticClass1 {
		int id=10;
		private int getId() {
			return id;
		}
	}
	
	private  class MemberClass1 {
		
		private int getValue() {
			return val+1;
		}
		
	}
}