Java final abstract class

后端 未结 9 1972
情歌与酒
情歌与酒 2021-02-02 06:26

I have a quite simple question:

I want to have a Java Class, which provides one public static method, which does something. This is just for encapsulating purposes (to h

9条回答
  •  春和景丽
    2021-02-02 07:21

    Reference: Effective Java 2nd Edition Item 4 "Enforce noninstantiability with a private constructor"

    public final class MyClass { //final not required but clearly states intention
        //private default constructor ==> can't be instantiated
        //side effect: class is final because it can't be subclassed:
        //super() can't be called from subclasses
        private MyClass() {
            throw new AssertionError()
        }
    
        //...
        public static void doSomething() {}
    }
    

提交回复
热议问题