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; } } }
More Related questions...