✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】
java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):

【韩老师让背下来】
package com.dingjiaxiong.modifier;
/**
* ClassName: A
* date: 2022/9/2 22:03
*
* @author DingJiaxiong
*/
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 h1(){
//在同一类中,可以访问 public protected 默认 private 修饰属性和方法
m1();
m2();
m3();
m4();
}
}
package com.dingjiaxiong.modifier;
/**
* ClassName: B
* date: 2022/9/2 22:05
*
* @author DingJiaxiong
*/
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.dingjiaxiong.modifier;
/**
* ClassName: Test
* date: 2022/9/2 22:07
*
* @author DingJiaxiong
*/
public class Test {
public static void main(String[] args) {
A a = new A();
a.m1();
B b = new B();
b.say();
}
}
//只有默认和public可以修饰类
class Tiger{
}
运行结果
