程序员社区

(Java基础面试题)什么是访问权限修饰符?

访问权限修饰符对于 Java 来说,非常重要,目前共有四种:public、private、protected和 default(缺省)。

一个类只能使用 public 或者 default 修饰,public 修饰的类你之前已经见到过了,现在我来定义一个缺省权限修饰符的类给你欣赏一下。

class Dog {
}

哈哈,其实也没啥可以欣赏的。缺省意味着这个类可以被同一个包下的其他类进行访问;而 public 意味着这个类可以被所有包下的类进行访问。

假如硬要通过 private 和 protected 来修饰类的话,编译器会生气的,它不同意。

(Java基础面试题)什么是访问权限修饰符?插图

private 可以用来修饰类的构造方法、字段和方法,只能被当前类进行访问。

protected 也可以用来修饰类的构造方法、字段和方法,但它的权限范围更宽一些,可以被同一个包中的类进行访问,或者当前类的子类。

可以通过下面这张图来对比一下四个权限修饰符之间的差别:

(Java基础面试题)什么是访问权限修饰符?插图1

  • 同一个类中,不管是哪种权限修饰符,都可以访问;
  • 同一个包下,private 修饰的无法访问;
  • 子类可以访问 public 和 protected 修饰的;
  • public修饰符面向世界,哈哈,可以被所有的地方访问到。

Java面试题

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java基础面试题)什么是访问权限修饰符?

一个分享Java & Python知识的社区