ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础知识23--Java中的四种访问权限:public、protected、包访问、private

2022-01-27 15:33:08  阅读:130  来源: 互联网

标签:Java String 23 private 访问 权限 public name


所谓访问权限,指的就是本类中的成员变量、成员方法对其他类的可见性

Java中有四种访问权限,分别是public、protected、包访问权限(默认)、private,如果省略了访问修饰符,那默认访问权限为包访问权限。
这四种权限从最大权限到最小权限分别是:
public > protected > 包访问权限> private

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

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

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

protected: 和private作用相当,唯一的区别是,继承的类可以访问protected成员,但不能访问private成员。

private: 除了包含这个成员的类之外,所有类都无法访问这个成员,相当于自我封闭,防止其他类改变或删除这个方法。private修饰的属性或方法是私有的,不能在声明它的类的外部访问。

使用案例:

Animal实体类

public class Animal {
    //定义私有成员变量
    private String name;
    private String age;
    //定义公有成员变量
    public String address;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

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

    public String getAge() {
        return age;
    }

    public String getNameAndAge(){
        //类内部可以访问私有成员变量
        return "name:"+name+"; age:"+age;
    }

    private void eat(){
        System.out.println(name+"正在吃饭....");
    }
}

测试代码:

public class SeasonTest {
    public static void main(String[] args) {
        Animal animal=new Animal();
        animal.setAge("12");
        animal.setName("peter");
        animal.setAddress("tiantai");
        System.out.println("age:"+animal.getAge());
        System.out.println(animal.getNameAndAge());         System.out.println("address:"+animal.address); //通过类的对象访问类的公有成员变量(public修饰)
        //System.out.println(animal.name);
        //animal.eat();
    }
}

2.类的访问权限

Java中的访问权限也可以用来修饰类。不过需要注意,对于普通类而言,类的访问权限仅有public和包访问权限

· 如果一个类声明的时候用了public,则该类的类名必须与文件名一致,包括大小写,如果不匹配,会有编译错误

· 每个编译单元(文件)都只能有一个public类

· 当然不带public也是可以的,这时可以随时对文件命名

 

标签:Java,String,23,private,访问,权限,public,name
来源: https://www.cnblogs.com/luckyplj/p/15850021.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有