Java访问修饰符的介绍与使用

本文介绍了Java中的访问修饰符,包括public、private、protected和default的使用规则。通过一个实例展示了不同访问修饰符限制的访问范围,强调了它们在控制类和属性访问权限中的重要性,从而提升代码的安全性。
摘要由CSDN通过智能技术生成

访问修饰符的介绍与使用

重要知识点

类的定义与属性定义是都出现了public(公共的)单词,这个出现在第一位的单词被称为"访问修饰符",访问修饰符用于限定类与类的元素的访问范围。

访问修饰符的四种类型

访问修饰符中具有四种不同的类型:

public(公共的):在任何地方都能访问public修饰的元素。

private (私有的)︰只能在当前类访问private修饰的元素。

protected(保护的)∶只能在子类中访问父类protected修饰的元素,或者这两个类在同一个包下。

default(默认) : default比较特殊,在代码中体现为什么都不写,被default修饰的元素只能在当前包(package)中被访问。

代码示例

Pet宠物类,放在com.imooc包下,只是更换每个属性的修饰符

package com.imooc;
public class Pet {
    public String type; //公共的
    private String name; //私有的
    int age; //默认的
    protected float weight; //保护的
}

小实验:创建Caller类,包名为com.alibaba,代码如下:

package com.alibaba;
public class Caller{
    public static void main(String[] args){
        Pet pet = new Pet(); 
        pet.type = "猫"; //1
        pet.name = "多多"; //2
        pet.age = 1; //3
        pet.weight = 2.1f;//4
    }
}

程序运行后,第2/3/4句报错。
第1句是正确的,因为public修饰的type变量在随时随地都可以被Caller访问到
第2句报错,原因是name属性是private私有的,只能在Pet类中被访问,显然Caller类main中的代码并不在Pet类中。第3句报错,因为com.imooc与com.alibaba并不是一个包,所以被default默认修饰的age属性便无法被访问。
第4句报错与第3句含义相同,因为weight被protected修饰,但Caller既不是Pet的子类,又没和Pet在同一个包下,因此报错。
通过上面的实验,你应领会访问修饰符的作用,通过设置不同的访问修饰符可以有效控制对象属性的访问范围,从语言的运行机制层面控制程序的访问权限,从而提高秏序的安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值