Is it possible to declare a class as static in Java?

Total Post:23


 1087  View(s)
Rate this:
Why are you not able to declare a class as static in Java?
  1. Re: Is it possible to declare a class as static in Java?

    Only nested classes can be static. By doing so you can use the nested class without having an instance of the outer class.
    class OuterClass{
        public static class StaticNestedClass{
        public class InnerClass{
        public InnerClass getAnInnerClass(){
            return new InnerClass();
        //This method doesn't work
        public static InnerClass getAnInnerClassStatically(){
            return new InnerClass();

    class OtherClass{
        //Use of a static nested class:
        private OuterClass.StaticNestedClass staticNestedClass = new OuterClass.StaticNestedClass();
        //Doesn't work
        private OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
        //Use of an inner class:
        private OuterClass outerclass= new OuterClass();
        private OuterClass.InnerClass innerClass2 = outerclass.getAnInnerClass();
        private OuterClass.InnerClass innerClass3 = InnerClass();

    Class with private constructor is static.
    Declare your class like this:

    public class eOAuth {
        private eOAuth(){}
        public final static int    ECodeOauthInvalidGrant = 0x1;
        public final static int    ECodeOauthUnknown       = 0x10;
        public static GetSomeStuff(){}
    and you can used without initialization:

    if (value == eOAuth.ECodeOauthInvalidGrant)


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.