【java】学习路线10-权限修饰符详解
/*
关于修饰符:
类:public default
public protected default private
same class √ √ √ √
same package √ √ √ ×
subclass √ √ × ×
dif package √ × × ×
#但是需要注意的是:如果想使用defualt修饰方法和变量的是时候,
不需要写default,不写就是默认default
*/
import com.remoo.test.Learn09_Test;
public class Learn09{
public static void main(String[] aa){
//Remoo.P_hello="111";
//System.out.println(P_hello);
//如果是private,则不能通过不同的类访问
//Remoo.hello="你好";
System.out.println(Remoo.hello);//可以输出
//证明default可以通过不同类访问
System.out.println(Test.hello);//可以输出
//证明default可以在同一个包内调用
//Test.Son_Protected_hello = "hello";
System.out.println(Test.Son_Protected_hello);//可以输出
//通过子类访问子类自身的protected属性
System.out.println(Test.Fat_Protected_hello);//可以输出
//通过子类访问父类的protected属性
//System.out.println(Remoo.Son_Protected_hello);//不能通过父类找子类
System.out.println(Remoo.Fat_Protected_hello);//可以输出
//访问父类中的protected属性
//测试就近原则-父类子类的优先性
System.out.println(Remoo.Same_Test);//fat
System.out.println(Test.Same_Test);//son
//访问另一个包
Learn09_Test.main(null);
//System.out.println(Learn09_Test.welcomeWord1);
//System.out.println(Learn09_Test.welcomeWord2);
//System.out.println(Learn09_Test.welcomeWord3);
//上面三个都不行。只有public的才可以通过不同的包访问
System.out.println(Test1.callDifPackageProtected());
System.out.println(Learn09_Test.welcomeWord4);//public可以访问
//但是protected可以在不同包中但是有继承关系的类中使用
//要在不同包中想要访问其protected的成员,必须要继承之后才能用
System.out.println(Test.callSuperClassProtected());
}
}
class Test1 extends Learn09_Test{
static String callDifPackageProtected(){//protected可以在不同包中的继承对象中访问
return welcomeWord3;
}
//default不可以在不同包中访问
//static String callDifPackageDefault(){
// return welcomeWord2;
//}
}
class Test extends Remoo{
protected static String Son_Protected_hello="子类中的protected";
static String Same_Test="son";
static String callSuperClassProtected(){//子类调用父类的protected
return Fat_Protected_hello;
}
}
class Remoo{//父类
private static String P_hello = "父类中的private";
static String hello = "父类中的default";
protected static String Fat_Protected_hello="父类中的protected";
static String Same_Test="fat";
}
【java】学习路线10-权限修饰符详解的更多相关文章
- Java之Static静态修饰符详解
Java之Static静态修饰符详解 Java之Static静态修饰符详解 一.特点 1.随着类的加载而加载,随着类的消失而消失,生命周期最长 2.优先于对象存在 3.被所有类的对象共享 4.可以直接 ...
- java 基础 四种权限修饰符
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...
- abstract关键字、final关键字、static关键字、访问修饰符详解
abstract关键字.final关键字.static关键字.访问修饰符详解 abstract关键字: final关键字: static关键字: 访问修饰符:
- java(异常体系及权限修饰符)
java异常体系 异常的体系: 异常体系: --------| Throwable 所有错误或者异常的父类 --------------| Error(错误) --------------| Exce ...
- java四种访问权限修饰符
java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围< ...
- Java第十二天,权限修饰符
Java当中权限修饰符共有四种.分别是public.protected.(default).private. 注:YSE代表可访问,NO代表不可访问. 同一个类 同一个包,非继承 不同的包,有继承 ...
- java中四种权限修饰符区别
总的概括:public > protected > (default) > private 细分见下表格: 权限修饰符 public protected (default) priv ...
- Java的四种权限修饰符
private:仅对本类可见 缺省(不需修饰符):对本包可见 protected:对本包及所有子类可见 public:对所有类可见 修饰符: * 权限修饰符:private,默认的,protected ...
- Java中类成员访问权限修饰符(public、protected、default、private)
1.public(公共的): 任何类都可以进行访问(最不严格). 2.protected(保护的): 同一包内的类以及其子类可以进行访问. 3.default(缺省的): 类中不加任何访问权限限定的成 ...
随机推荐
- tf.data(二) —— 并行化 tf.data.Dataset 生成器
在处理大规模数据时,数据无法全部载入内存,我们通常用两个选项 使用tfrecords 使用 tf.data.Dataset.from_generator() tfrecords的并行化使用前文已经有过 ...
- 物联网微消息队列MQTT介绍-EMQX集群搭建以及与SpringBoot整合
项目全部代码地址:https://github.com/Tom-shushu/work-study.git (mqtt-emqt 项目) 先看我们最后实现的一个效果 1.手机端向主题 topic111 ...
- 1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》
1.1 操作系统的第一个功能--虚拟化硬件资源 目录 1.1 操作系统的第一个功能--虚拟化硬件资源 问1:操作系统一般处于计算机系统的哪一个位置? 问2:管理硬件资源为什么要单独交给操作系统? 问3 ...
- netty系列之:HashedWheelTimer一种定时器的高效实现
目录 简介 java.util.Timer java.util.concurrent.ScheduledThreadPoolExecutor HashedWheelTimer 总结 简介 定时器是一种 ...
- HMS Core新闻行业解决方案:让技术加上人文的温度
开发者们,你希望用户如何获取新闻? 有的人靠手机弹窗知天下事,有的人则在新闻应用中尽览每一篇文章:有的人一目十行,有的人则喜欢细细咀嚼:有的人主动探索,有的人则想要应用投其所好. 科技在不断刷新着用户 ...
- 一分钟入门 Babel(下一代 JavaScript 语法的编译器)
简单来说把 JavaScript 中 es2015/2016/2017/2046 的新语法转化为 es5,让低端运行环境(如浏览器和 node )能够认识并执行.严格来说,babel 也可以转化为更低 ...
- python爬虫之protobuf协议介绍
前言 在你学习爬虫的知识过程中是否遇到下面的类型.如果有兴趣学习一下或者了解相关知识的,且不嫌在下才疏学浅,可以参考一下.欢迎各位网友的指正. 首先叙述一下问题的会出现的式样. 你可能会在请求参数中看 ...
- mysql InnoDB通过.frm和.ibd恢复表和数据
ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据.撤销记录.修改buffer和双写buffer.如果file-per-table选项打开的话,该文件则不一 ...
- 原生实现.NET5.0+ 自定义日志
一.定义一个静态类 声明一个 ReaderWriterLockSlim 对象 用于并发控制 1 /// <summary> 2 /// IO锁 3 /// </summary> ...
- ppt/word公式LaTeX环境配置
PPT使用Latex说明 一.下载IguanaTex_v1_57 http://www.jonathanleroux.org/software/iguanatex/download.html Inst ...