使用注意事项:
- 修饰符可以用来修饰类中的属性,成员方法以及类
- 只有默认的和public才能修饰类,并遵循上述访问权限的特点。
(public修饰的类其类名和文件名保持一致)
- 成员方法的访问规则和属性一样。
A
package test;
public class A {
//四个属性
public int n1 = 100;
protected int n2 = 100;
int n3 = 100;
private int n4 = 100;
public void m1(){
//该方法可以访问四个属性
System.out.println("n1 = " + n1 + " n2 = " + n2 + " n3 = " + n3 + " n4 = " + n4);
}
protected void m2(){}
void m3(){}
private void m4(){}
public void hi(){
//在同一个类中,可以访问public protected 默认 private修饰属性和方法
m1();
m2();
m3();
m4();
}
}
B
package test;
public class B {
public void say(){
A a = new A();
//在同一个包下,可以访问public, protected 和 默认修饰属性或方法, 不能访问private
System.out.println("n1 = " + a.n1 + " n2 = " + a.n2 + " n3 = " + a.n3);
//报错,n4为私有属性,只能在同类中访问
//System.out.println(" n4 = " + a.n4);
a.m1();
a.m2();
a.m3();
//a.m4();private 报错
}
}
Test
package test;
public class Test {
public static void main(String[] args) {
A a = new A();
a.m1();
B b = new B();
b.say();
}
}
//只有默认和public可以修饰类
class tt{}//正确
//protect class tt{}//报错
//private class tt{}//报错
//public修饰的类其类名和文件名保持一致