Do we have a Readonly field in java (which is set-able within the scope of the class itself)?

前端 未结 7 1067
被撕碎了的回忆
被撕碎了的回忆 2021-02-01 01:31

How can we have a variable that is writable within the class but only \"readable\" outside it?

For example, instead of having to do this:

Class          


        
相关标签:
7条回答
  • 2021-02-01 02:26

    Create a class with public final fields. Provide constructor where those fields would be initialized. This way your class will be immutable, but you won't have an overhead on accessing the values from the outside. For example:

    public class ShortCalendar
    {
        public final int year, month, day;
    
        public ShortCalendar(Calendar calendar)
        {
            if (null == calendar)
                throw new IllegalArgumentException();
    
            year = calendar.get(Calendar.YEAR);
            month = calendar.get(Calendar.MONTH);
            day = calendar.get(Calendar.DATE);
        }
    }
    
    0 讨论(0)
提交回复
热议问题