java中什么是继承笔记
继承
怎样实现继承:1,先提取共有的属性和方法,放到一个类里,这个叫父类、基类、超类
2.编写子类 修饰符 class 子类名 extends 父类名
好处:提高代码的复用性
子类怎么去访问父类成员:
直接用 name
this.资源 this.name
super.资源 super.name
能继承父类的那些资源:
private 只能本类使用
默认(friendly) 只能是本包访问
protected(受保护的) 只能被同包 和不同包子类访问
public(共有的)能被整个项目去访问
不能继承父类的那些资源:
私有的不能被继承
构造方法不能被继承,但是可以被访问
继承是实现形式:显示的继承extends
隐式的继承(什么都不写)
构造访问的实例化过程:父类的属性——>父类构造方法——》子类的属性——>子类的构造方法
(静态)父类的静态属性——》父类静态的代码块——》子类的静态属性——》子类的静态代码块——》父类的属性——>父类构造方法——》子类的属性——>子类的构造方法
super关键字:
访问父类的属性:super.属性名
访问父类的方法:super.方法名
访问构造方法:1.没有使用super去显示的调用父类的构造方法,也没有使用this去显示的调用本类的构造方法,那么默认调用父类的无参构造
2.如果使用super显示调用父类的构造方法,那就直接调用这个构造方法,不去调用父类的无参构造了
3..如果使用this显示调用本类的构造方法,那就直接调用这个构造方法,不去调用父类的无参构造了
4.如果你什么都不写,它会一直往上调用父类,直到Object类的无参构造为止
方法重写
原因:不能满足业务的需求
方法重写 方法重载 --------一定要背会
位置 父子类 同类
方法名 相同 相同
参数列表 相同 不同
返回值 相同或子类 无关
访问修饰符 相同或扩大 无关
抽象类和抽象方法
特点:用abstract修饰的类叫做抽象类
抽象类里可以有抽象方法,也可以没有抽象方法
抽象类不能被实例化,它里边的抽象方法必须被子类重写,否则子类也是抽象类
抽象方法:用abstract修饰的方法叫抽象方法
有抽象方法的类必须是抽象类
抽象方法没有方法体
final
修饰属性:修饰基本数据类型——值不变
修饰引用数据类型——地址不变,里面的属性可以改变
修饰方法:方法不能被重写
修饰类:类不能被继承
java中什么是继承笔记的更多相关文章
- java中封装,继承,多态,接口学习总结
### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通 ...
- Java中是否可以继承String类,为什么
Java中,是否可以继承String类?为什么? 答案: 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变. public final class ...
- Java中子类能继承父类的私有属性吗?
前段时间去听老师讲课的时候,老师告诉我子类是可以继承父类所有的属性和方法的.当时我是极其疑惑的,因为之前学校考试时这个考点我记得很清楚:子类只能继承父类的非私有属性和方法.老师给我的解释是这样的--先 ...
- java中接口和继承的区别
实际概念区别:区别1:不同的修饰符修饰(interface),(extends)区别2:在面向对象编程中可以有多继承!但是只支持接口的多继承,不支持'继承'的多继承哦而继承在java中具有单根性,子类 ...
- Java中实现多线程继承Thread类与实现Runnable接口的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 在实际应用中, ...
- 关于高淇JAVA中SORM总结学习笔记详细个人解释
代码来源于高淇JAVA教学视频 谢谢高淇老师的教学. 因为自己在学习的过程中发现了很多困难点,总结下希望对自己接下来学框架提升.给像我一样得初学者方便. SORM框架是一个简单的ORM,关系对象映射, ...
- java中接口可以继承接口
今天阅读别人的代码才发现,接口是可以继承接口的 一个类只能extends一个父类,但可以implements多个接口. 一个接口则可以同时extends多个接口,却不能implements任何接口. ...
- Java中的权限学习笔记
1.Java中的权限有两个层次,一个是类这一层,另一个是类成员那一层. 类这一层: public class可以在本包内被访问,也可以在包外被访问.而没有被public修饰的class只能在本包内被调 ...
- Java中封装、继承和多态
封装: 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性. 访问修饰符有public,private,prot ...
随机推荐
- 那些有实力进入 BAT 的本科生,都做对了什么事?
作者:黄小斜 文章来源:微信公众号[黄小斜] 最近这段时间,我们部门来了几个年纪轻轻的本科生,最小的比我们小五岁左,这对于我来说还是比较有冲击力的. 想想我也是九0出头的老腊肉了,想当年我上大学的时候 ...
- 法国神器"mimikatz"简化版,一键导出结果
神器之所以称之为神器.那是闹着玩的? 法国神器"mimikatz",那是相当的好使!!! GitHub:https://github.com/gentilkiwi/mimikatz ...
- Java线程池源码及原理
目录 1 说明 1.1类继承图 2 线程池的状态 3 源码分析 3.1完整的线程池构造方法 3.2 ctl 3.3 任务的执行 3.3.1 execute(Runnable command) 3.3. ...
- CS程序和BS程序文字转语音
一.项目中一直用到了文字转语音的功能,需求也比较简单,就是将一段报警信息通过语音的方式播放出来,之前一直采用CS客户端,利用微软自带的Speech语音播放库就可以完成, 1.1 封装winSpedk类 ...
- 使用Mysql执行SQL语句基础操作
SQL: 又叫结构化语言,是一种用来操作RDBMS的数据库语言,在关系型数据库中都支持使用SQL语句,如oracle.mysql等等. 注意: 在关系型数据库中sql语句是通用的,而在非关系型数据库 ...
- Greenplum高可用真的高吗?
目录 1. 问题描述 2. 解决方案 @ 1. 问题描述 在项目中使用了Greenplum做分析型数据库,Greenplum自身已经提供了高可用方案,Master节点提供Sdanby备用节点,Segm ...
- 磁盘大保健 保持你的Linux服务器存储健康
df du -sh *| sort -nr du -h --max-depth=1 / du -h --max-depth=1 /* find . -type f -size +1000000k 查找 ...
- 使用MyBatis在控制台动态打印执行的sql语句
使用MyBatis进行数据库操作的时候,sql语句都是写在相应的mapper文件中,参数也是使用占位符取值表示的,mapper文件中看不到实时执行的完整sql,有时候sql语句错误或者参数类型不对的时 ...
- ZIP:GZIP
GZIPInputStream: GZIPInputStream(InputStream in) :使用默认缓冲区大小创建新的输入流. GZIPInputStream(InputStream in, ...
- py+selenium 自动判断页面是否报错并显示在自动化测试报告【原创】
有需求就会去研究解决的路子. 现在需求就是,测试报告报错信息一堆,但却无法肉眼看出是什么问题,你只能知道定位不到元素或是超时,但你却不知道其实进入页面就报错了或是提交表单就报错了!也就是看到报错,需要 ...