美文网首页
修饰符小谈

修饰符小谈

作者: hddwsz | 来源:发表于2017-04-23 23:51 被阅读0次

在Java中提供了四种访问权限,使用不同的访问权限时,被修饰的内容会有不同的访问权限,以下表来说明不同权限的访问能力:

                                         public        protected         空的(default)       private

同一类中                              √                  √                        √                       √

同一包中(子类与无关类)      √                  √                         √

不同包的子类                       √                  √

不同包中的无关类                √

归纳一下:在日常开发过程中,编写的类、方法、成员变量的访问

       要想仅能在本类中访问使用private修饰;

       要想本包中的类都可以访问不加修饰符即可;

       要想本包中的类与其他包中的子类可以访问使用protected修饰

       要想所有包中的所有类都可以访问使用public修饰。

这里要注意的是,如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。

这里着重说说受保护权限pretected.有人说它的用法是:受保护,给子类用

下面代码说明问题:

package com.fenxiang.protecteddemo;

     public classFu {

            protected void pro(){

                   System.out.println("受保护权限的方法");

             }

     }

package com.fenxiang.protecteddemo;

public class Zi extends Fu{

}

package com.fenxiang.demo;

import com.fenxiang.protecteddemo.Zi;

public classDemo {

     public static void main(String[]args) {

              Zi z = new Zi();

              z.pro(); //无法调用Pro方法

      }

}

但是在这里测试类Demo中无法调用Pro方法,所以理解为”给子类用”是有问题的

下面修改后代码:

package com.fenxiang.protecteddemo;

public class Fu {

       protected void pro(){

              System.out.println("受保护权限的方法");

       }

}

package com.fenxiang.protecteddemo;

public class Zi extends Fu{

       public void show(){   //加入show方法,在show方法中调用pro方法

              pro();

       }

}

package com.fenxiang.demo;

import com.fenxiang.protecteddemo.Zi;

public class Demo {

       public static void main(String[]args) {

               Zi z = new Zi();

               z.show();     //调用子类中的show方法

        }

}

修改后编译成功,程序正常运行,输出:受保护权限的方法

所以得到结论:

受保护权限用法:只能在子类中去使用,出去子类,不能使用

相关文章

  • 修饰符小谈

    在Java中提供了四种访问权限,使用不同的访问权限时,被修饰的内容会有不同的访问权限,以下表来说明不同权限的访问能...

  • vue 常见修饰符

    表单修饰符 事件修饰符 鼠标修饰符 键盘修饰符

  • 谈谈 OC 属性修饰符的本质是什么!

    属性修饰符的本质 assign 修饰符 copy 修饰符 atomic 修饰符 strong 修饰符 weak 修...

  • Kotlin 关键字、修饰符、操作符

    Kotlin中的修饰符关键字分类 类修饰符 成员修饰符 访问权限修饰符 协变逆变修饰符 函数修饰符 属性修饰符 参...

  • Vue修饰符

    事件修饰符 .prevent修饰符 .stop修饰符 .once修饰符 prevent修饰符 用于阻止默认事件行为...

  • java中的权限修饰符和特征修饰符

    权限修饰符 (按范围由大到小) 含义 范围 public : ...

  • 【转】vue修饰符

    目录 表单修饰符 事件修饰符 鼠标按键修饰符 键值修饰符 v-bind修饰符(实在不知道叫啥名字) 一、表单修饰符...

  • Vue这些修饰符帮我节省20%的开发时间

    目录 表单修饰符事件修饰符鼠标按键修饰符键值修饰符v-bind修饰符(实在不知道叫啥名字) 表单修饰符 填写表单,...

  • vue 修饰符

    v-model 修饰符 .lazy.number.trim .sync 修饰符 .native修饰符 事件修饰符 ...

  • Java 修饰符

    Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类、方...

网友评论

      本文标题:修饰符小谈

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