Java 访问修饰符

访问修饰符

访问修饰符是用于控制 类、成员方法、属性 的被访问权限。

Java为我们提供了四种服务修饰符,分别是 publicprotecteddefaultprivate 声明:default为不声明访问修饰符,就采用默认修饰符

它们的访问范围如下:

修饰符 名称 同类 同包 子类 不同包
public 公开
protected 受保护
default 默认
private 私有

测试代码

包目录

image-20220517221619461

A类

package com.java02_modifier;

public class AClass {

	// 级别:公开 同类、同包、子类、不同包 可访问
	public int publicNumber = 100;

	// 级别:受保护 同类、同包、子类 可访问
	protected int protectedNumber = 200;

	// 级别:默认  同类、同包 可访问
	int defaultNumber = 300;

	// 级别:私有  同类 可访问
	private int privateNumber = 400;


	// 测试同类访问
	public void function () {

		String result = "公开:" + publicNumber + "\n受保护:" + protectedNumber +
		 "\n默认:" + defaultNumber + "\n私有:" + privateNumber;

		System.out.println(result);

	}
}

B类

package com.java02_modifier;

public class BClass {

	// 异类访问测试
	public void function () {
		AClass aObj = new AClass();
		System.out.println("公开: " + aObj.publicNumber);
		System.out.println("受保护: " + aObj.protectedNumber);
		System.out.println("默认: " + aObj.defaultNumber);
		System.out.println("私有: 非同类 无法访问");

	}

}

不同包下的类

package com.java02_modifier.packages;

// 异包需要导入
import com.java02_modifier.AClass;

public class PackageTest {

	// 异包访问测试
	public void function () {
		AClass aObj = new AClass();
		System.out.println("公开: " + aObj.publicNumber);
		System.out.println("受保护: 非同包、同类、子类 无法访问");
		System.out.println("默认: 非同包、同类 无法访问");
		System.out.println("私有: 非同类 无法访问");

	}
}

测试主方法

package com.java02_modifier;

public class ModifierMain {
	public static void main (String[] ages) {
		// 同包无需导入
		AClass aObj = new AClass();
		System.out.println("==========================同类访问测试=====================");
		aObj.function();

		BClass bObj = new BClass();
		System.out.println("==========================异类访问测试=====================");
		bObj.function();

		System.out.println("==========================异包访问测试=====================");
		com.java02_modifier.packages.PackageTest packObj = new com.java02_modifier.packages.PackageTest();
		packObj.function();
	}
}

运行ModifierMain输出

==========================同类访问测试=====================
公开:100
受保护:200
默认:300
私有:400
==========================异类访问测试=====================
公开: 100
受保护: 200
默认: 300
私有: 非同类 无法访问
==========================异包访问测试=====================
公开: 100
受保护: 非同包、同类、子类 无法访问
默认: 非同包、同类 无法访问
私有: 非同类 无法访问
posted @   假文艺青年。  阅读(208)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示