Help the world stop coronavirus! Stay home!

Prev Next

Java / static keyword

Difference between static nested class and inner class.

Static nested class can define its own static member while the inner class cannot declare static members.

An instance of InnerClass can exist only within an instance of OuterClass and has direct access to the methods and fields of its enclosing instance. in Static nested class, it can exist even without an instance of enclosing class.

public class StaticNestedClass{
	int nonstaticInt;
	static int staticInt;

    public static void main(String args[]){
    	StaticNestedClass.NestedStaticClass ns = new StaticNestedClass.NestedStaticClass();
        System.out.println(ns.getDesc());
    }
  
    static class NestedStaticClass{
        static public String desc =" Example of Nested Static Class";
      
        public String getDesc(){
        	//System.out.println(nonstaticInt); //Compilation error
        	System.out.println(staticInt);
            return desc;
        }
    }
    
     class NestedNonStaticClass{
        public String desc =" Example of Inner Class";
      
        public String getDesc(){
        	
        	System.out.println(nonstaticInt);
        	System.out.println(staticInt);
            return desc;
        }
    }
} 

❤Cash Back At Stores you Love !!!❤

Earn your $10 reward when you make your first purchase through Ebates by signing up with clicking below button.

Ebates Coupons and Cash Back

More Related questions...

Show more question and Answers...

Concurrent collections

Comments & Discussions