How to control visibility of variables in Java?

戏子无情 提交于 2019-12-02 03:56:14

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;
  }
}

Important to remember: If you declare a variable in a class and don't use any access modifier it will be package-private. That means from other classes within the same package you can reference it with objectname.variable while from classes in other packages you can't.

1: just something like int i; within the method

2: use the private modifier or protected modifier

3: use public

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!