How does the “final” keyword in Java work? (I can still modify an object.)

前端 未结 18 2285
醉酒成梦
醉酒成梦 2020-11-22 03:08

In Java we use final keyword with variables to specify its values are not to be changed. But I see that you can change the value in the constructor / methods of

18条回答
  •  隐瞒了意图╮
    2020-11-22 03:22

    When you make it static final it should be initialized in a static initialization block

        private static final List foo;
    
        static {
            foo = new ArrayList();
        }
    
        public Test()
        {
    //      foo = new ArrayList();
            foo.add("foo"); // Modification-1
        }
    

提交回复
热议问题