java的四种权限修饰符


文章内容选自尚硅谷,采用eclipse环境

权限修饰符的介绍

如图所示,4种权限修饰符的使用范围为
在这里插入图片描述

  • 对于类的权限修饰符只能用缺省和public
  • 4种权限修饰符都可以修饰类的属性、方法、构造器、内部类。

在同一个包下测试代码

代码如下,先在一个包com.atguigu.java内定义一个Order的类

package com.atguigu.java;

public class Order {
	private int orderPrivate;
	int orderDefault;
	public int orderPublic;
	
	private void methodPrivate(){
		orderPrivate = 1;
		orderDefault = 2;
		orderPublic = 3;
	}
	
	void methodDefault(){
		orderPrivate = 1;
		orderDefault = 2;
		orderPublic = 3;
	}
	
	public void methodPublic(){
		orderPrivate = 1;
		orderDefault = 2;
		orderPublic = 3;
	}
}

再在同一个包内定义一个OrderTest的类

package com.atguigu.java;

public class OrderTest {
	public static void main(String[] args) {
		Order test = new Order();
		test.methodDefault();
		test.methodPublic();
//		test.methodPrivate();
//		test.orderPrivate = 1;
		test.orderPublic = 3;
		test.orderDefault =2;
	}
}

注释掉的代码就是编译器报错的部分,可见私有方法和私有属性的适用范围只能在类的内部。

在不同的包下测试代码

新建了一个com.atguigu.java1的包,在不同的包下,仍然可以建立同名的java文件,这儿再次创建一个OrderTest的类。
代码如下

package com.atguigu.java1;

import com.atguigu.java.Order;

public class OrderTest {
	public static void main(String[] args) {
		Order test = new Order();
//		test.orderPrivate = 1;
//		test.orderDefault =2;
		test.orderPublic =3;
//		test.methodPrivate();
//		test.methodDefault();
		test.methodPublic();
	}
}

注释掉的部分为编译器报错的部分,可见,这一次不能使用Default定义的方法和属性了,因为Default的适用范围仅在一个包内部。

类的权限修饰符

类的权限修饰符只能是public或者缺省,如果在com.atguigu.java内定义的类Order的权限修饰符改为缺省的话,则不能在com.atguigu.java1的包内new一个Order对象,因为缺省Default的适用范围仅限于包内,不能在另一个包内使用。
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值