Java访问修饰符

什么是访问修饰符

访问修饰符理解为权限控制 用来限定作用域的

修饰符分类

  1. public: 对所有类都可见
  2. protected: 对同一包内的类和所有子类可见 注意:不能修饰类(外部类)
  3. private: 只能在当前类中使用 注意:不能修饰类(外部类)
  4. default(即默认 什么都不写): 在同一包中可见

访问控制

修饰符 当前类 同一包中 子孙类(同一包) 子孙类(不同包) 其他包
public Y Y Y Y Y
protected Y Y Y Y/N N
private Y N N N N
default Y Y Y N N

private

定义为 privatefield丶method 无法被其他类访问 只能在本类中使用
private不能修饰外部类!!!

package com.oop.demo04;

public class Demo02 {
    private String name;
}



package com.oop;


import com.oop.demo04.Demo02;

public class Applcation {
    public static void main(String[] args) {
        Demo02 demo02 = new Demo02();
        // 'name' has private access in 'com.oop.demo04.Demo02'
        // System.out.println(demo02.name);
        // 'say()' has private access in 'com.oop.demo04.Demo02'
        // System.out.println(demo02.say());
    }
}

public

定义为publicclass丶interface丶field丶method可以被任何类访问 权限最大

小结

  1. public权限最大 任何类都可以访问
  2. private权限最小 只能在本类中访问 且不能修饰外部类 一般用于字段和方法上
  3. default只要在同一个包中即可访问
  4. protected作用于继承关系 定义为protected的字段和方法可以被子类访问 以及子类的子类
上一篇:PTA之1011 A+B 和 C (15 分)


下一篇:WPF中 ItemsSource 和DataContext不同点