java 之 继承 super关键籽 this关键字 final关键字
继承
语法:
使用 extends 来继承
class子类 extends父类{
子类属性
子类方法
}
继承的特点:
1、子类会把父类所有的属性和方法继承下来,final修饰的类是不可以被继承的
2、子类还可以·拥有自己独特的属性和方法
3、父类更通用,子类更具体
4、子类只能获得父类中非private的属性,如果想要继承就得提供公共的set和get方法
私有的方法是无法继承下来的
5、java中只能做单继承
6、Java支持多级继承
继承的好处:提高代码的复用性
super关键字
1、子类实例化的过程中父类的构造器先被调用,然后在调用子类的构造器
2、子类 的构造器内被调用的时候父类的默认构造器就会被调用(父类如果存在着有参数
的构造器,一定要把默认构造器显式的定义出来,否者会被覆盖)
3、子类在调用父类有参数的构造器的时候使用 super(参数列表…)这这时父类的默认
构造器就不会被调用了
4、super()的调用必须放在方法的第一行
5、super可以表示父类的引用,我们可以使用super和this来区分父类和子类中同的属性。在子类中访问属性的查找顺序首先在子类中查找指定的属性名字,如果在子类中没有该属性,那么就去父类中去查找该属性。方法也是一样的当子类和父类有同样的方法时通过子类调用的这个相同的方法时调用的是子类的方法。但是我们也可以通过super对父类的引
来调用父类的方法。
this关键字
1、代表当前类的指定实例和引用
2、可以区分同名属性和局部变量
3、通过this可以调用同类中的构造器(this(),this(参数列表))
4、调用本类里面的属性,this.属性名,this.方法()
final关键字
属性上
final修饰在属性上,属性的值就不能被改变
语法:
权限修饰符 static final 数据类型 属性名 = 值
属性名一般使用采用大写,多个单词使用下划线来分隔。而且这种常量多定义在接口中
方法上
final修饰的方法不能被复写
语法:
权限修饰符 final 返回值类型 方法名(参数列表){
方法体
}
类上
使用final来修饰的类是不可以被继承的
语法:
final
class 类名{
}
在类中所有的private方法都隐式的指向final,可以说private、final修饰的方法在此时的效果是相同的
使用final的原因
1、锁定
2、效率
详见《java编程思想》
java 之 继承 super关键籽 this关键字 final关键字的更多相关文章
- “全栈2019”Java第一百零八章:匿名内部类与final关键字
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- JAVA核心技术I---JAVA基础知识(单例模式和final关键字)
一:单例模式 C++设计模式中提及,不再赘述设计模式---对象性能模式之单例模式(Singleton) public class single{ static single Instance=new ...
- Java学习笔记(二十三):final关键字
final关键字有三种使用场景: final修饰类 final修饰方法 final修饰变量 final修饰的类,不能再有子类继承. 只要满足以下条件就可以把一个类设计为final类: 不是专门为继承而 ...
- 夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理
目录 final使用 final变量 final修饰基本数据类型变量和引用 final类 final关键字的知识点 final关键字的最佳实践 final的用法 关于空白final final内存分配 ...
- java代码继承super
总结:多态 :. 当重写父类的方法的时,子类对象名可以调用父类的方法,以及不带参的构造方法 package com.addd; public class rr { int a, b; String c ...
- 《java入门第一季》之面向对象(final关键字)
/* final可以修饰类,方法,变量 特点: final(可以修饰类),该(类)(不能被继承).一旦修饰了一个类,这个类就不能被继承了! final以修饰方法,该方法可以被继承但是不能被重写.(覆盖 ...
- Java并发指南5:JMM中的final关键字解析
本文转载自互联网,侵删 与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问.对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的 ...
- java——super关键字、final关键字、throws关键字、访问控制
super关键字: 当父类被重写之后,子类对象无法访问父类被重写的方法,super就是为了解决这个问题: 1.使用super关键字访问父类的成员变量和成员方法: super.成员变量 super.成员 ...
- 《JAVA学习笔记 (final关键字)》
[14-9]面向对象-final关键字 /* 继承的弊端,打破封装性. 不让其他类继承该类,就不会有重写. 怎么能实现呢?通过Java中的一个关键子来实现,final(最终化). [final关键字] ...
随机推荐
- 使用ElasticSearch赋能HBase二级索引 | 实践一年后总结
前言:还记得那是2018年的一个夏天,天气特别热,我一边擦汗一边听领导大刀阔斧的讲述自己未来的改革蓝图.会议开完了,核心思想就是:我们要搞一个数据大池子,要把公司能灌的数据都灌入这个大池子,然后让别人 ...
- 用Fiddler抓取手机APP数据包
Fiddler下载地址 1.允许远程连接 2.允许监听https 3.重启Fiddler 这步很重要,不要忘了 4.手机配置 用ipconfig命令查询当前PC的局域网IP 将手机连接上同一个WIFI ...
- websocket聊天室
目录 websocket方法总结 群聊功能 基于websocket聊天室(版本一) websocket方法总结 # 后端 3个 class ChatConsumer(WebsocketConsumer ...
- Vue-CLI 3.x 部署项目至生产服务器
本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 本教程主要讲解的是 Vue ...
- Pytest系列(18)- 超美测试报告插件之allure-pytest的基础使用
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 官方介绍 Allure Frame ...
- rdd简单操作
1.原始数据 Key value Transformations(example: ((1, 2), (3, 4), (3, 6))) 2. flatMap测试示例 object FlatMapTr ...
- posix系统线程调度-设置线程优先级
#include <thread> #include <mutex> #include <iostream> #include <chrono> #in ...
- 自己模拟的ftl 用法:
基类 public class Ftl_object_data_model { //三种基本属性 private boolean canRead=true;//是否能读取 ;//长度 private ...
- Netty服务端接收的新连接是如何绑定到worker线程池的?
更多技术分享可关注我 前言 原文:Netty服务端接收的新连接是如何绑定到worker线程池的? 前面分析Netty服务端检测新连接的过程提到了NioServerSocketChannel读完新连接后 ...
- threejs使用各种坑实验过程
第一次使用threejs到实际项目中,开始的时候心情有点小激动,毕竟是第一次嘛,然而做着做着就感受到这玩意水好深,满满的都是坑,填都填不过来.经过老板20天惨无人道的摧残,终于小有成就. 因为第一次搞 ...