美文网首页
java 权限修饰符

java 权限修饰符

作者: anhuili | 来源:发表于2017-11-29 15:33 被阅读64次

java 权限修饰符共有4个
public protected default private

4个修饰符可以修饰类,方法,变量
public 在任何地方都可以访问。
protected 在本包,本类,本包子类,非本包子类可以访问。
default 本包可以访问。
private 只能在本类中访问。
比较特殊的一点是 protected 修饰

p.a
Anim.java
protected int num;
default int age;
//////////////////////////////
p.b
Cat extends Anim java
////////////////////////////////
p.c
使用protected修饰num变量说明在p.b包中 Cat对象是可以访问num的,是不能访问age变量的,那Cat对象在p.a包中是不是就可以访问age 变量呢?是不可以访问的。
那在p.c包中,Cat对象还能访问到num变量么?也是不能的。
所以用protected修饰的话,子类对protected修饰的访问权限只能在子类中有访问权限。

protected比default只是多了一个子类访问权限。

个人觉得比较容易混淆的是protected。

分两种情况说明一下:

(1)子类父类同包
protected 和 没有修饰符作用是相同的,父类和子类在同包任何地方都可以访问两者修饰的成员变量或者方法,在其他包是访问不了的。
(2)子类父类不同包
首先子类在任何地方都不能访问到default 修饰的变量或者方法,就算子类对象在父类中使用时也是不能访问的,用protected 修饰只给非同包子类下放了一个权限,即只能在子类中访问该变量或者方法。

个人觉得 protected 主要是用来管理非同包子类的访问权限的。
如果子类父类在同一个包,没有必要用protected修饰,用default就可以了,子类父类不同包就发挥它的作用了。protected修饰的只能允许在子类中访问,其他任何地方子类都访问不到。

相关文章

  • 笔记

    public是权限修饰符 java里面的权限修饰符 还有 private protected default pu...

  • Java修饰符总结

    分类 Java语言提供了很多修饰符,大概分为两类: 1.访问权限修饰符 2.非访问权限修饰符 访问权限修饰符 1....

  • JAVA基础-访问修饰符

    访问权限 Java中有三种访问权限修饰符:private、protected、public,如果不加访问修饰符,表...

  • java 权限修饰符

    java 权限修饰符共有4个public protected default private 4个修饰符可...

  • Java基础学习六 关键字

    java语言中的访问控制权限修饰符 访问控制权限修饰来控制元素的访问范围。 访问控制权限修饰符包括:public ...

  • Java访问控制修饰符

    访问控制修饰符: 用来控制对类、方法和变量访问权限的修饰符。Java 支持 4 种不同的访问权限: default...

  • 访问控制权限

    Java 有四个访问权限修饰符,分别是public protected default private。这些修饰符...

  • Java访问修饰符(访问控制符)

    Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如: Java 的修饰符很多...

  • Java编程学习:Java访问修饰符(访问控制符)

    Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如: Java 的修饰符很多...

  • Java当中会有那些误区

    Java修饰符的访问权限 Java输入易错区 Scanner对象输入时,next()、nextInt()等next...

网友评论

      本文标题:java 权限修饰符

      本文链接:https://www.haomeiwen.com/subject/gliubxtx.html