How to control visibility of variables in Java?

前端 未结 3 1786
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-23 07:00

I can imagine 3 type of visibility for variables (but I think there are more):

  1. Variable is used within a method and any changes of the value of this variable ar

3条回答
  •  感情败类
    2021-01-23 07:51

    1) Any variable declared in a method is only visible in that method. (method-local). The programmer has no choice in that.

    2) Any variable declared with the modifier private is visible only from within instances of the class it is delared in.

    3) public variables can be accessed from any class with object.variable; protected variables can be accessed in this way from subclasses only; private variables can be accesses in this way only within instances of the class the variable is declared in.

    For detail and reference, see the Java Learning Trail on Sun's website.

    However: exposing class members (variables) to other classes is bad practise, and access should be enabled using methods, such as:

    public class MyClass {
      private int myInt;
    
      public int getMyInt() {
        return myInt;
      }
    
      public void setMyInt(int newInt) {
        myInt = newInt;
      }
    }
    

提交回复
热议问题