Java中的四种访问权限(private,public,protected,无修饰)

本文详细介绍了Java中的四种访问权限:包访问权限、public、protected和private,以及如何在类中使用它们来控制成员变量和方法的可见性。特别强调了public和private的直接访问方式,以及通过set和get方法访问private属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这四种权限从最大权限到最小权限分别是:

public > protected > 包访问权限> private

类的成员变量和方法访问权限

在这里插入图片描述
所谓访问权限,指的就是本类中的成员变量、成员方法对其他类的可见性

1、包访问权限: 没有任何修饰符的权限就是包访问权限,意味着当前包的所有类都可以访问这个成员,如表中所示,对于本包之外的类,这个成员就变成了private,访问不了

2、public: 被public修饰的成员对任意一个类都是可用的,任何一个类都可以访问到,通过操作该类的对象随意访问public成员

3、protected: 在相同的class内部,同一个包内和其他包的子类中能被访问。要理解protected权限,就需要了解继承,因为这个权限处理的就是继承相关的概念,继承而来的子类可以访问public、protected,

4、private: 除了包含这个成员的类之外,所有类都无法访问这个成员,相当于自我封闭,防止其他类改变或删除这个方法

private、public 修饰符定义的属性、方法进行调用

package com.atguigu.ssm.pojo;

public class Employee {



     public  int sex=20;

    private Integer id;
    private String userName;//实体类属性和数据库字段名称不一致
    private String passWord;//实体类属性和数据库字段名称不一致
    private Integer age;
    private String gender;
    private String email;

    public Employee(Integer id, String userName, String passWord, Integer age, String gender, String email) {
        this.id = id;
        this.userName = userName;
        this.passWord = passWord;
        this.age = age;
        this.gender = gender;
        this.email = email;
    }

    public Employee() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", passWord='" + passWord + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

测试代码:

 public static void main(String[] args) {
        Employee emp = new Employee();
        emp.test();
        System.out.println(emp.sex);//直接调用public修饰的变量

        emp.setId(18);//private修饰的变量进行赋值

        System.out.println(emp.getId());//调用private修饰的变量
    }

总结

1、public修饰符定义的属性和方法通过对象实例化进行调用,
2、private修饰的属性通过set、get方法进行调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值