对象转型

向上转型:

什么是向上造型?
子类对象赋给父类引用
父类引用指向子类对象

  父类类型    引用=子类对象;

子类转成父类    默认进行(父类引用指用子类对象)。

为什么需要向上造型?
子类对象可以放入父类类型的数组中
父类数组同一管理所有子类对象
减少代码冗余

向上造型的特性:
向上造型后的父类引用
只能调用到父类中的成员
不能调用到子类特有的成员

向上转型:

父类转成子类    强制进行

关键字:

instanceof:测试左边的对象是否是右边类的实例。

如果是则为true 否则为false

方法重写(方法覆盖,override)1)什么是方法重写?

子类不满父类中某个方法的功能,重新编写父类方法的现象。
什么需要方法重写?
父类中的方法不能满足子类的要求。
如何进行方法重写?
简单的方法重写:
在子类中编写一个和父类中的某个方法,方法名相同,参数列表相同,访问修饰符和返回值也相同的方法。
方法重写的效果?
在向上造型的前提下,指向子类对象的父类引用,在调用被子类重写的方法时,运行的是子类重写后的方法。
方法重写的运行期绑定:
父类引用在运行方法时,jvm会检测这个父类引用指向的真实类型,调用真实类型重写后的方法
方法重写的详细规则:
必须相同的方法名,参数列表。
可以不同的返回值:基本数据类型必须相同。
引用数据类型,可以返回其子类。
访问修饰符:
子类重写的方法的访问修饰符,不能比父类更严格

Day04:集合框架(下) / 集合操作——线性表(一)的更多相关文章

  1. JAVASE02-Unit04: 集合框架 、 集合操作 —— 线性表

    Unit04: 集合框架 . 集合操作 -- 线性表 操作集合元素相关方法 package day04; import java.util.ArrayList; import java.util.Co ...

  2. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表

    本文目录:       1.自定义JDBC框架 ——数据库元数据:DataBaseMetaData        2.自定义JDBC框架 ——数据库元数据:DataBaseMetaData       ...

  3. 浅谈集合框架五——集合框架扩展:Collections工具类的使用,自定义比较器

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  4. 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  5. 浅谈集合框架四——集合扩展:集合循环输出方式及list输出方式的效率对比

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  6. 集合框架-HashSet集合(无序唯一)

    1 package cn.itcast.p4.hashset.demo; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 /* ...

  7. 集合框架-TreeSet集合

    1 package cn.itcast.p5.treeset.demo; 2 3 import java.util.Iterator; 4 import java.util.TreeSet; 5 6 ...

  8. Day05:集合操作——线性表(二) / 查找表 / 文件操作——File(一)

    文件操作:https://www.cnblogs.com/wsnb8/p/11403626.html

  9. mooc_java 集合框架下

    1.判断List中课程是否存在 /** * 测试List的contains方法 * @param args */ public void testListContains(){ Course cour ...

随机推荐

  1. mybatis中#{}和${}的区别(转载)

    原文地址:http://www.cnblogs.com/baizhanshi/p/5778692.html 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by ...

  2. Task底层实现原理探秘

    .NET 4包含新名称空间System.Threading.Tasks,它 包含的类抽象出了线程功能, 在底层使用ThreadPool. 任务表示应完成的某个单元的工作. 这个单元的工作可以在单独的线 ...

  3. java poi 生成多个sheet

    我的需求是:在一个表格中生成多个sheet,每个sheet的名称动态指定,每个sheet内的内容动态指定.生成的文件名动态指定. 工具类: package test; import java.io.O ...

  4. SQL CASE Syntax

    CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE ...

  5. isset和empty以及is_null区别

    2.empty,isset首先都会检查变量是否存在,然后对变量值进行检测.而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 3.isset():仅 ...

  6. 实用——pojo (实体类) 常用函数

    1,转义方法 @JsonProperty("n")

  7. Git命令的简单整理大全

    创建目录和查看路径 mkdir 创建目录  cd    进入到目录里面pwd   用于显示当前的目录cat   查看文件内容 Git命令使用说明 初始化一个目录成git的仓库(版本库)包括暂存区和ma ...

  8. vue项目中主要文件的加载顺序(index.html、main.js、App.vue)

    todo: https://www.cnblogs.com/xifengxiaoma/p/9493544.html https://www.cnblogs.com/stella1024/p/10563 ...

  9. 主线程 Looper.loop() 死循环为何不会ANR

    先看下 ActivityThread 中的这段代码: 而 loop() 方法中,存在一个死循环: public static void loop() { ... ... ... for (;;) { ...

  10. Padding Oracle 和 CBC字节翻转攻击学习

    以前一直没时间来好好研究下这两种攻击方式,虽然都是很老的点了= =! 0x01:Padding oracle CBC加密模式为分组加密,初始时有初始向量,密钥,以及明文,明文与初始向量异或以后得到中间 ...