不是太细的java自学笔记2(p245到p315)(继承性,重写,super,多态,包装类)
承接上一个笔记继续记录(这次记录到P315)
不算是一个0基础的笔记,很多涉及到底层的存储方式因为时间关系没有记录,推荐各位去看原视频教程。
35.继承性(extends)
在基类中的private属性,方法也被继承到了,但是没法直接访问需要使用setget方式来获取到属性。一个类只能有一个父类(c++支持多重继承)即java只支持单继承。
36.没有说明明确的父类,那么这个类继承于java.lang.Object类。
37.方法重写(override,overwrite)
在继承中对继承到的方法进行修改覆盖原来方法。方法名称和形参列表都要一样。重写的方法权限不小于父类的方法。子类中不能重写父类中的private的方法。
父类void,子类只能是void
父类是A类型,子类返回值可以是A类或者A类的子类
重写和重载·是不同的:重写是基于继承得来的。必须要父类有对应方法,参数要完全相同。而重载是在一个类中的方法重载,参数可以不同。
子类重写的方法抛出的异常类型,不大于父类的被重写的方法抛出的异常类型。
如果说明为static则不能重写。
子类继承父类之后在堆空间中就自动下载父类中的声明的属性。究其原因就是因为会调用父类的构造器,构造器导致父类的属性加载到堆中。
38.super
方法会重写但是属性不会覆盖!!!!
super理解为父类的
和this类似,使用方法也是类似。出现子类父类同名的属性则使用this和super进行区分。super也可以调用构造器,同上但是必须要在首行调用父类构造器。super()是默认被调用的。
39.多态性:一个事务的多种形态.
把事务分为了两个使用的过程,分别为编译过程和运行过程。编译过程中体现为调用的方法为其本身类型的方法(即父类方法),但是在运行过程中使用的方法为子类的方法。(举例:和人一起吃饭,只需要这个人事Person类即可,但是真正吃饭的时候我们需要根据男人女人不同产生不同的吃饭过程。也就是调用不同的子类的eat()方法。)
这里我们直接可以把p2当成一个man来看,因为Man同样是属于Person人这类的。
当调用子父类的同名同参数方法时实际调用的是子类的方法,称之为虚拟方法调用例如:p2.eat();本身p2为person类的对象,不能调用子类中的特有方法。也叫做动态绑定。
对象的多态性适用于方法,不适于属性。
多态性的好处,减少重载方法的设计
40.instanceof
x instanceof A检验x是否为类A的对象,返回值是boolean
41.
要是instanceof其父类也是true
42.==和equals的比较
==在比较基本数据类型中不需要类型相同
==如果比较引用数据类型变量,则比较地址值
equals在object中的定义和==作用相同。
String,Date,File,包装类中对equals方法进行了重写,比较了内容。
43.euqals方法复用需要注意当我们在比较String类型的属性时我们需要使用String自带的equals()函数进行比较,而不能使用==比较。原因在于==比较的是地址,并不是其中的内容。但是当我们有两个String变量都是赋值的相同常量时,因为java中常量存储在常量池中,并且当存在已有常量,定义新变量后我们赋值为已有的常量,会直接复用这个常量,而不是新建一个地址存放我们新建的内容。
44.toString() 一般返回地址,重写返回内容
45.单元测试JUnit
46.***包装类(Wrapper):
基本数据类型不是类,没有体现出面向对象
jdk5.0新特性:自动装箱和拆箱
有了自动拆箱和装箱之后可以包装类和基本数据类型看作一种!
只有有子父类关系的才能进行强制类型转换。
不是太细的java自学笔记2(p245到p315)(继承性,重写,super,多态,包装类)相关推荐
- JAVA自学笔记07
JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功 ...
- JAVA自学笔记24
JAVA自学笔记24 1.能使用同步代码块就使用同步代码块,除非锁对象是this,就可以考虑使用同步方法.静态方法的锁是类的字节码对象. 2.JDK5新特性 1)接口Lock void Lock()/ ...
- JAVA自学笔记22
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...
- JAVA自学笔记21
JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 ...
- JAVA自学笔记08
JAVA自学笔记08 1.构造方法私有,外界就不能再创建对象 2.说明书的制作过程 1)写一个工具类,在同一文件夹下,测试类需要用到工具类,系统将自动编译工具类:工具类的成员方法一般是静态的,因此在测 ...
- JAVA自学笔记25
JAVA自学笔记25 1.GUI 1)图形用户接口,以图形的方式,来显示计算机操作的界面,更方便更直观 2)CLI 命令行用户接口,就是常见的Dos,操作不直观 3) 类Dimension 类内封装单 ...
- JAVA自学笔记23
JAVA自学笔记23 1.多线程 1)引入: 2)进程 是正在运行的程序.是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空间和系统资源. 多进程: 单进程的计算机只能做一件事情,而现在 ...
- Java自学笔记——Java面向对象——04.抽象类、接口、内部类
Java 面向对象各节 Java自学笔记--Java面向对象--01.回顾方法 Java自学笔记--Java面向对象--02.构造器.类和对象 Java自学笔记--Java面向对象--03.封装.继承 ...
- 廖雪峰Java自学笔记------Java简洁
廖雪峰Java自学笔记------Java简洁 这是专门针对小白的零基础Java教程. 为什么要学Java? 因为Java是全球排名第一的编程语言,Java工程师也是市场需求最大的软件工程师,选择Ja ...
最新文章
- SSL For Free 申请免费https SSL 凭证
- 技术总监需要会些什么?
- python自动控制windows、Android的软件用来实现机器人流程自动化--RPA,外挂、自动化测试等方面的解决方案
- 外循环java作用_循环和外循环的区别和作用
- JavaScript 获取客户端计算机硬件及系统信息
- 简单的动画函数封装(1)
- Linux系统正则表达式用法笔记
- 计算机专业经典书籍强烈推荐
- html5 jpg转webp格式转换,JPEG和WebP格式图片的差别
- Jekyll搭建lanmps.com站点
- Struts数据传输问题-- 数据超出2M时会导致映射数据丢失
- 小甲鱼Python教程学习笔记(一)
- tiny4412 uboot 2020.10版本移植(三)——uboot初步启动
- WORD文档不能打开的一些原因
- 数据表与简单java类映射(角色权限)
- 用python画雪花形状_python海龟画图制作的漂亮的下雪场景动画效果冰雪奇缘
- keil5编写C51程序
- layim之初始化配置
- 展翅翱翔之时 (はばたきのとき)
- 树莓派写卡后连接诸多问题及方法