【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(缺省的): 类中不加任何访问权限限定的成 ...
随机推荐
- Java开发学习(五)----bean的生命周期
一.什么是生命周期 首先理解下什么是生命周期? 从创建到消亡的完整过程,例如人从出生到死亡的整个过程就是一个生命周期. bean生命周期是什么? bean对象从创建到销毁的整体过程. bean生命周期 ...
- dotnet 使用 Crossgen2 对 DLL 进行 ReadyToRun 提升启动性能
我对几个应用进行严格的启动性能评估,对比了在 .NET Framework 和 dotnet 6 下的应用启动性能,非常符合预期的可以看到,在用户的设备上,经过了 NGen 之后的 .NET Fram ...
- 记一次beego通过go get命令后找不到bee.exe的坑
学习goweb开发,gin是个轻量级的框架.如果想要一个类如aspnetmvc帮我们搭建好了的goweb框架,beego值得去学习.否则gin下面需要动手构建好多代码.新手还是先学现成的节约时间成本. ...
- 如何获取GC(垃圾回收器)的STW(暂停)时间?
前言 在现代的容器化和微服务应用中,因为分布式的环境和错综复杂的调用关系,APM(Application Performance Monitoring 应用性能监控)显得尤为重要,它通过采集应用程序各 ...
- 效率效率!如何使用Python读写多个sheet文件
前言 怎么样使用Python提高自己的工作效率,今天就给大家分享这个吧. 我们经常用pandas读入读写excel文件,经常会遇到一个excel文件里存在多个sheet文件,这个时候,就需要一次性读取 ...
- SpringBoot项目集成Swagger启动报错: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is
使用的Swagger版本是2.9.2.knife4j版本是2.0.4. SpringBoot 版本是2.6.2将SpringBoot版本回退到2.5.6就可以正常启动
- 写了个 Markdown 命令行小工具,希望能提高园友们发文的效率!
写了个 Markdown 命令行小工具,希望能提高园友们发文的效率! 前言 笔者使用 Typora 来编写 Markdown 格式的博文,图片采用的是本地相对路径存储(太懒了不想折腾图床). 时间久了 ...
- 活动报名 | 如何基于开源项目 Tapdata PDK,快速完成数据源和目标的开发?
近日,Tapdata 启动 PDK 插件生态共建计划,宣布开源插件开发框架 Tapdata PDK,将自身的数据接口能力开放出来,帮助开发者根据实际需求,自助接入数据源和目标,快速开启「Data ...
- Iterator接口介绍和迭代器的代码实现
定义:Iterator接口是Java集合框架中的一员. 作用:Collection接口与Map接口主要用于存储元素. 常用方法: boolen hasNext(); //判断游标右边是否还有元 ...
- 有关golang信道的面试笔记
信道是一个goroutine之间很关键的通信媒介. 理解golang的信道很重要,这里记录平时易忘记的.易混淆的点. 1. 基本使用 刚声明的信道,零值为nil,无法直接使用,需配合make函数进行初 ...