目录
概念:
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。
分类:
public、protected、default(默认,即什么也不写)、private。
分别控制的权限
案例:
可食用,代码可以copy,但是注意自己的包。
package com.cs.modifier;
public class A {
//四个属性,分别使用不同的访问修饰符来修饰
public int n1 = 100;
protected int n2 = 200;
int n3 = 300;
private int n4 = 400;
public void m1() {
//在同一类中,可以访问public protected 默认 private 修饰属性和方法
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();
}
}
package com.cs.modifier;
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);
a.m1();
a.m2();
a.m3();
//a.m4(); 错误的
}
}
package com.cs.modifier_;
import com.cs.modifier.A;
public class C extends A {
public void ww() {
super.m1();
super.m2();
// super.m3();
// super.m4();
}
}
package com.cs.modifier_;
import com.cs.modifier.A;
public class D {
public void ww() {
A a = new A();
a.m1();
// a.m2();
// a.m3();
// a.m4();
}
}
package com.cs.modifier;
public class Test {
public static void main(String[] args) {
A a = new A();
a.m1();
B b = new B();
b.say();
}
}