权限修饰符(public、protected、default、private)权限验证
一、测试方法 在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)权限验证的更多相关文章
- 【java基础】(1)Java的权限修饰符(public,protected,default,private)
访问权限修饰符权限从高到低排列是public ,protected ,default, private. 一.根据“是否是同包”.“是否是子类”分为4中情况+本类 5种情况 二.把 同包中的子类 ...
- Java访问权限修饰符public protected friendly private用法总结(转载好文Mark)
首先声明:Java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly.为了条理清晰,分三种不同情况来总结. 一 访问权限修饰符修饰成员变量和 ...
- java访问修饰符 public protect default private
适用范围<访问权限范围越小,安全性越高> 访问权限 类 包 子类 其他包 public ok ok ok ok (对所有可用的 ...
- Java中权限修饰符public、private、protected和default的区别
1.public 可以修饰类.成员变量和成员函数,没有任何限制,同一个包中,或者不同包中的类都可以自由访问 2.private 可以修饰成员变量和成员函数,只能在本类中使用 3.default (不写 ...
- java四种权限修饰符(public > protected > (default) > private)
权限修饰符在哪里可以访问 (default) : 表示什么权限修饰符都不写 位置 public protected (default) private 同一个类 yes yes yes yes 同一个 ...
- java 修饰符的作用一(public protected default private 组)
1.public protected default private 组 public 权限最大,同类,同包,不同包,同包子类父类之间,不同包子类父类之间都可以访问. java 默认的权限是defau ...
- JAVA类型修饰符(public,protected,private,friendly)
JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...
- 关于Java的权限修饰符(public,private,protected,默认friendly)
以前对访问修饰符总是模棱两可,让自己仔细解释也是经常说不很清楚.这次要彻底的搞清楚. 现在总结如下: 一.概括总结 各个访问修饰符对不同包及其子类,非子类的访问权限 Java访问权限修饰符包含四个:p ...
- Java 访问权限修饰符以及protected修饰符的理解
2017-11-04 22:28:39 访问权限修饰符的权限 访问修饰符protected的权限理解 在Core Java中有这样一段话“在Object类中,clone方法被声明为protected, ...
- 详解Java中的访问控制修饰符(public, protected, default, private)
Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...
随机推荐
- Websocket,ProtoBuffer,Hightlight,JSON 等,最近遇到的一些知识点小结
websocket websocket 支持但不仅限于web场景,是一种封装好的socket通信协议,可以用来做C-S通信. 可以通过设置 binaryType 来指定通信的数据流格式,从而达到简洁高 ...
- CF580B Kefa and Company 尺取法
Kefa wants to celebrate his first big salary by going to restaurant. However, he needs company. Kefa ...
- Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) B 1075B (思维)
B. Taxi drivers and Lyft time limit per test 1 second memory limit per test 256 megabytes input stan ...
- mybatis逆向工程工具
mybatis逆向工程 package com.cxy; import java.io.File; import java.util.*; import org.mybatis.generator.a ...
- react PropTypes 与 DefaultProps
PropTypes 与 DefaultProps import React ,{ Component } from 'react'; import PropTypes from 'prop-types ...
- POJ1051 P,MTHBGWB
题目来源:http://poj.org/problem?id=1051 题目大意: Morse密码里每个字母用长度不定的点和线来表示,一条信息中字母的编码之间用空隙隔开.下表为Morse密码的编码表: ...
- nodejs創建目錄命令mkdir失敗
Windows系統 學習nodejs創建目錄命令:mkdir var fs = require('fs'); fs.mkdir('./tmp/test',function (err) { if(err ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_元数据
1.元数据简介 全称:metadata 属性:数据表集合 产地:面向 CLR 的编译器在托管模块中生成 2.元数据内部结构及与托管模块的关系 [概述] 托管模块中包含着元数据,元数据是由一组数据表组成 ...
- NowCoder数列(矩阵快速幂变式)
时间限制 3000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 NowCoder最近在研究一个数列: * F(0) = 7 * F(1) = 11 * F(n) = F(n ...
- PS常用快捷键大全
察看图像类别 说明:: --- Shift键 : --- 空格键 *--- 在Imageready中不适用 § --- 只在Imageready中可用 动作 结果 双击工具箱::或Ct ...