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 ...
随机推荐
- scrapy 发post请求
可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求. 如果希望程序执行一开始就发送POST请求,可以重写Spider类的s ...
- JVM结构的简单梳理
#cnblogs_post_body img { width: 500px; height: auto; } JVM是什么 JVM的基本特性 JVM的流程结构 1. Java编译(Java Compi ...
- 手动部署EJB于WebLogic
转载自http://blog.sina.com.cn/s/blog_678530f60100hy6c.html 说是转载,其实是我个人几年前在新浪博客上发表的一篇文章 上一篇说道如何使用Eclipse ...
- [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]列名 'user1' 无效
唉,还是自己对php执行sql语句运用不熟练.... 我的错误代码是这样的,(解决办法在最后) $re=sqlsrv_query($conn, "select * from visitor ...
- Java开发IDEA插件推荐
IDEA插件推荐 Alibaba Java Coding Guidelines MyBatisCodeHelper-Pro Lombok GsonFormat AceJump Statistic Tr ...
- ServiceFabric极简文档-1.2 硬件环境.md
1. 一个C盘,100G,16G内存,2.5HZ2. 官网有推荐配置
- ZIP:GZIP
GZIPInputStream: GZIPInputStream(InputStream in) :使用默认缓冲区大小创建新的输入流. GZIPInputStream(InputStream in, ...
- Neo4j电影关系图Cypher
, tagline:'Welcome to the Real World'}) }) }) }) }) }) }) }) CREATE (Keanu)-[:ACTED_IN {roles:['Neo' ...
- 单元测试jest部署
引入jest需安装的基础插件: 基础插件 @babel/core 编译工具核心模块包 @babel/preset-env 编译工具,支持es2015特性的编译打包工具包 babel-jest 对.js ...
- 个人永久性免费-Excel催化剂功能第56波-获取Excel对象属性相关自定义函数
之前零散开发过一些自定义函数获取Excel对象属性,此次再细细地把有价值的属性都一一给开发完成,某些场景下,有这些小函数还是可以比较方便地实现一些通过Excel界面没法轻松获取到的信息. 修复与更新 ...