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


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

    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也是可以的,这时可以随时对文件命名

  • 相关阅读:
    vue
    vue
    vue 中使用style(样式)
    vue 中使用class(样式)
    第17课
    第16课
    第15课
    第14课
    第13课
    第12课
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15850021.html
Copyright © 2020-2023  润新知