作用域
分为public,private,protected,final和无修饰符
1.public
定义为public的class
和interface
都可以被其他类访问。
2.private
定义为private的变量和方法不能被其他类访问。仅限class
内部访问。如果需要访问,一般通过set()
heget()
函数进行操作。当然函数应为public型。
注:java支持嵌套类,若一个类内部还定义了嵌套类,则嵌套类可以访问其私有成员。
如:
public class Main {
public static void main(String[] args) {
hello a=new hello();
a.hi();
}
private static void hh() {
System.out.println("hello,world!");
}
static class hello{
public void hi() {
Main.hh();
}
}
}
3.protected
定义为protected的变量和方法仅限于其子类以及子类的子类访问,一般用于继承关系。
4.无修饰符
无修饰符一般默认在同一个包package
下可以随意访问。(包名必须完全一致)
5.final
final与访问权限无关。
用final修饰class防止被继承。用final修饰方法防止被覆盖。用final修饰变量防止被重新赋值。