1.public
public的类、接口可以被其他任何类访问。
public的方法、字段,具有访问类的权限时,可以被任何类访问。
注意:
一个.java 文件只能包含一个public的class,多个非public的class,但如果包含了一个public的class,文件名必须和类名相同。
2.private
private的方法、字段只能提供给内部类使用,其他类无法访问。
嵌套类具有访问private的权限。
嵌套类:在一个类中定义的类为嵌套类。
3.protected
protected的方法,字段作用于继承关系,子类,或子类的子类,可以使用,同包下的类也可以访问。
4.package
package是包作用域,允许同一个包,没有public 、private修饰的class,和没有protected、public
、private修饰的字段以及方法可以访问。
5.局部变量
在方法内部定义的变量叫局部变量。局部变量作用域从变量声明处开始到对应的块结束,方法参数也是局部变量。
例如:
package abc;
public class Hello {
void hi(String name) { // ①
String s = name.toLowerCase(); // ②
int len = s.length(); // ③
if (len < 10) { // ④
int p = 10 - len; // ⑤
for (int i=0; i<10; i++) { // ⑥
System.out.println(); // ⑦
} // ⑧
} // ⑨
} // ⑩
}
方法参数name是局部变量,它的作用域是整个方法,即①~⑩;
变量s的作用域是定义处到方法结束,即②~⑩;
变量len的作用域是定义处到方法结束,即③~⑩;
变量p的作用域是定义处到if块结束,即⑤~⑨;
变量i的作用域是for循环,即⑥~⑧。
6.final
修饰class,阻止继承;
修饰method,阻止被子类覆写;
修饰filed,阻止被重新赋值;
修饰局部变量,阻止被重新赋值;