this和super--java进阶day01
1.this和super的代表

super是父类的标识符,如堆内存中的标志
2.this和super的访问

重点说访问构造方法,super()访问父类构造方法我们已经清楚,但是this()访问本类构造方法,我们不清楚有什么用意义 如以下情境
假设在公司制作一个系统,1.0有三位角色

随着版本更新,1.1要新增一位角色,问题就随之而来,该如何加入该角色呢?
可以直接在构造方法里面加

如上图,直接加入导致之前写的代码全部报错,这里插入一个新的规矩:开闭原则

.
开闭原则即是尽量不改动之前写的代码,如果要增加新的功能,则额外书写一段代码

此时this调用本类构造方法的应用就体现出来了,在新写的构造方法中调用之前的构造方法,从而减少代码的繁杂


3.this.()和super.()都在争夺构造方法第一行的位置,两者不能同时使用


.

如果使用了this.(),没有了super.()该如何访问父类构造方法呢?
完全不用担心这种情况的发生,通过this.()访问到本类的构造方法,该构造方法也会存在super.()

this和super--java进阶day01的更多相关文章
- Java进阶(七)正确理解Thread Local的原理与适用场景
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...
- Java进阶(三十九)Java集合类的排序,查找,替换操作
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...
- Java进阶(五十二)利用LOG4J生成服务日志
Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...
- Java进阶2 数组内存和对象的内存管理知识
Java进阶2 数组内存和对象的内存管理知识 20131028 前言: 在面试的时候,如果是Java的编程语言,也许你认为没有什么可以问的,只能够说明你对于Java了解的太浅了,几乎就是两个星期的节奏 ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...
- Java线程间通信方式剖析——Java进阶(四)
原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...
- Java进阶(三)多线程开发关键技术
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
- Java进阶03 IO基础
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...
随机推荐
- Shapefile代码示例
Shapefile代码示例 1. 读取Shapefile文件 1.1 实现思路 graph TD A[查找必要文件] --> B[获取文件编码] B --> C[打开图层] C --> ...
- 注册中心如何选型?Eureka、Zookeeper、Nacos怎么选
这是小卷对分布式系统架构学习的第9篇文章,第8篇时只回答了注册中心的工作原理的内容,面试官的第二个问题还没回答,今天再来讲讲各个注册中心的原理,以及区别,最后如何进行选型 上一篇文章:如何设计一个注册 ...
- SpringMvc-初识
---------------------------------------------------------------- 1.环境搭建 1.1 jar包 <spring.version& ...
- weixueyuan-Nginx集群9
https://www.weixueyuan.net/nginx/colony/ LVS(Linux虚拟服务器)简介 LVS(Linux Virtual Server)是一个开源的负载均衡项目,是国内 ...
- biancheng-Spring Boot框架
目录http://c.biancheng.net/spring_boot/ 1Spring Boot是什么2创建Spring Boot项目3Spring Boot starter4YAML5Sprin ...
- cmake:引入第三方库
需求:开源库中一般都需要引入第三方库,下面以引入boost库为例 (1)安装所需的三方库 boost安装:参考 (2)引入 这里的cmakelists文件为: # Import Boost (for ...
- RocketMQ原理—1.RocketMQ整体运行原理
大纲 1.RocketMQ整体运行原理的介绍顺序 2.RocketMQ生产者是如何发送消息的 3.Broker是如何持久化接收到的消息到磁盘上 4.基于DLedger技术的Broker主从同步原理 5 ...
- el-table当前行的获取和设置,用于表格行操作
1.在vue的data区声明当前行变量对象,如果当前行的信息用于了按钮的状态则需要赋予默认值,否则会报找不到属性的错误,比如下面会用到当前记录的status属性值控制按钮是否可用. //表格选中的行 ...
- HTML 基本骨架
HTML 基本骨架 HTML5的骨架是构建HTML5页面的基础结构,它主要由以下几个部分组成: <!DOCTYPE html> <html> <head> < ...
- @所有Mac用户 刺客信条系列登陆Mac平台!
[历史性的跨越] 在无数Mac游戏爱好者的热切期盼中,终于将风靡全球的3A级巨作--刺客信条系列,成功移植至MacOS系统!这意味着,无论是穿梭于中世纪欧洲的隐秘巷弄,还是翱翔于维多利亚时代的伦敦天际 ...