在java中ADT都是通过类来实现的,类成员变量和类方法的作用域对信息隐藏有着很大的作用。下面我们就来介绍如何设置类成员变量和类方法的作用域。
1 public
没有限制,在任何地方都能够访问。public大多用于修饰类方法。
public class Example{
public int a=10;
}
2 protected
若访问protected定义的成员变量的类不是原类的子孙类,则不能在其他的包(package)中访问;若是子孙类,则对包没有限制,即在任意的包里都能访问该成员变量。在使用装饰器设计模式时,我们可以用protected来修饰装饰类基类里的成员变量。
public class Example{
protected int a=10;
}
3 default
只能在当前类或者同一个包里访问,需要注意的是default只能用来修饰方法,而不能用来修饰变量。default可以在接口中实现通用的方法。
public interface Example{
default void print(){
System.out.println("hello");
}
}
4 private
只能在当前类里访问。
public class Example{
private int a=10;
}
综上所述,在java中作用域的大小为:public>protected>default>private,具体使用哪个来修饰类成员变量和类方法要根据实际情况来定。