一、测试方法

在authorityTest包中建类AuthorityValidate 
package authorityTest;

public class AuthorityValidate {
private String authority1 = "private";
protected String authority2 = "protected";
private void runPrivate(String a) {
System.out.print(a);
}
protected void runProtectde(String b) {
System.out.print(b);
System.out.print(authority1);
}
}

在authorityTest包中建立TheThirdClass类并尝试调用AuthorityValidate 中不同权限的方法

package authorityTest;

import testRun.ChildOfAut;

public class TheThirdClass {
ChildOfAut a = new ChildOfAut();
AuthorityValidate b = new AuthorityValidate();
String c = b.authority2;
String d = a.authority2;
public static void main(String[] args) {
AuthorityValidate b = new AuthorityValidate();
ChildOfAut a = new ChildOfAut();
System.out.print(b.authority2);
System.out.print(a.authority2);
}
}

在testRun包中建立ChildOfAut类继承AuthorityValidate 并尝试调用AuthorityValidate 中不同权限的方法

package testRun;

import authorityTest.AuthorityValidate;

public class ChildOfAut extends AuthorityValidate {

    public static void main(String[] args) {
ChildOfAut a = new ChildOfAut();
System.out.print(a.authority2);
a.runProtectde("果然如此");
}
}

在testRun包中建立TheOtherPackage类并尝试调用AuthorityValidate 中不同权限的方法

package testRun;

import authorityTest.AuthorityValidate;

public class TheOtherPackage {
AuthorityValidate b = new AuthorityValidate();
String a = b.authority2;
}


二、测试结果
TheThirdClass 类能调用AuthorityValidate 中protected修饰的属性和方法;
ChildOfAut类能调用AuthorityValidate 父类protected修饰的属性和方法;
TheOtherPackage类无法调用AuthorityValidate 父类protected修饰的属性和方法;
TheThirdClass,ChildOfAut,TheOtherPackage都不能访问AuthorityValidate 的private方法及属性;
以上,证明被protected修饰的属性、方法可被同一包中的类以及其子类访问。
被private修饰的属性、方法只能自身访问;
同理可证public可被任意类访问、default可被同一包中的类访问。
 

权限修饰符(public、protected、default、private)权限验证的更多相关文章

  1. 【java基础】(1)Java的权限修饰符(public,protected,default,private)

    访问权限修饰符权限从高到低排列是public  ,protected  ,default, private. 一.根据“是否是同包”.“是否是子类”分为4中情况+本类 5种情况 二.把 同包中的子类 ...

  2. Java访问权限修饰符public protected friendly private用法总结(转载好文Mark)

    首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和 ...

  3. java访问修饰符 public protect default private

    适用范围<访问权限范围越小,安全性越高>   访问权限   类   包  子类  其他包   public     ok   ok    ok     ok         (对所有可用的 ...

  4. Java中权限修饰符public、private、protected和default的区别

    1.public 可以修饰类.成员变量和成员函数,没有任何限制,同一个包中,或者不同包中的类都可以自由访问 2.private 可以修饰成员变量和成员函数,只能在本类中使用 3.default (不写 ...

  5. java四种权限修饰符(public > protected > (default) > private)

    权限修饰符在哪里可以访问 (default) : 表示什么权限修饰符都不写 位置 public protected (default) private 同一个类 yes yes yes yes 同一个 ...

  6. java 修饰符的作用一(public protected default private 组)

    1.public protected default private 组 public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问. java 默认的权限是defau ...

  7. JAVA类型修饰符(public,protected,private,friendly)

    JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...

  8. 关于Java的权限修饰符(public,private,protected,默认friendly)

    以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...

  9. Java 访问权限修饰符以及protected修饰符的理解

    2017-11-04 22:28:39 访问权限修饰符的权限 访问修饰符protected的权限理解 在Core Java中有这样一段话“在Object类中,clone方法被声明为protected, ...

  10. 详解Java中的访问控制修饰符(public, protected, default, private)

    Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...

随机推荐

  1. [Django笔记] 从已有的数据库构建应用

    Django适合从零开始构建,所谓 'Green-field' 开发.那么当我需要基于已存在的数据库构建应用时怎么办呢? inspectdb # 扫描默认数据库 python manage.py in ...

  2. 【bzoj3122】: [Sdoi2013]随机数生成器 数论-BSGS

    [bzoj3122]: [Sdoi2013]随机数生成器 当a>=2 化简得 然后 BSGS 求解 其他的特判 : 当 x=t  n=1 当 a=1  当 a=0 判断b==t /* http: ...

  3. Thinkphp手把手练习

    一.搭建thinkphp开发环境 准备条件:thinkphp框架 1.在Apache的www目录下新建文件夹,命名为thinkphp,可以将THinkPHP框架放在该目录中. 2.在thinkphp目 ...

  4. swift基础语法之——变量和常量

    swift使用let关键字来定义常量,使用var来定义变量,变量在使用前必须初始化(赋初始值) swift是类型安全语音,即不同类型的变量不能一起运算,必须转成同一类型才可以 变量的类型在声明时不必给 ...

  5. php小试牛刀

    [构造函数] function __construct() [析构函数] 当某个对象的所有引用被删除,或者对象被显式的销毁时会执行析构函数 function __destruct() [静态方法] p ...

  6. element,点击查看,实现tab切换:

    点击查看,实现tab切换: 代码如下: <template> <div> <el-table :data="tableData" style=&quo ...

  7. phpSpreadSheet 中 使用的 一些坑

    如果是upupw,它 做了 安全限制...将 上传目录 写成 uploadfiles 等 才能 写进去.. 文件路径 也不要有 中文..很有可以能 下载时 找不到路径....这个太坑...

  8. 基本数据类型 list and tuple 04

    列表和元组 一,列表 1.列表 由[]括起来 可以存放各种数据类型:  存放量比较大 2.列表的索引和切片  列表也有索引 lst [i] i 即列表中各元素的位置 2.1列表的切片 lst[star ...

  9. Car Flash ECU Programmer From autonumen

    Whether you’re a home car owner or an auto mechanic — you can save thousands of dollars on car maint ...

  10. Vue.js-----轻量高效的MVVM框架(二、Vue.js的简单入门)

    1.hello vue.js! (1)引入vue.js <script type="text/javascript" src="js/vue.js"> ...