美文网首页
Java进阶学习笔记(八)

Java进阶学习笔记(八)

作者: 理以周 | 来源:发表于2019-07-13 13:45 被阅读0次

1.多态变量:

1.1 子类和子类型:

\bullet 类定义了类型;

 \bullet 子类定义了子类型;

\bullet 子类的对象可以被当做父类的对象来使用;

       \bullet 赋值给父类的变量;

       \bullet 传递给需要父类对象的函数;

       \bullet 放进存放父类对象的容器里;

子类的对象可以传递给需要父类对象的函数 子类放进存放父类对象的容器里

1.2 多态变量:(声明类型和动态类型,有时候一致有时候不一致)

\bullet Java的对象变量是多态的,它们能保存不止一种类型的对象;

\bullet 它们可以保存的是声明类型的对象,或声明类型的子类的对象;

\bullet 当把子类的对象赋给父类的变量的时候,就发生了向上造型;

1.3 向上造型:

\bullet 造型cast:

\bullet 子类的对象可以赋值给父类的变量;

注意:Java中不存在对象对对象的赋值!!父类的对象不能赋给子类的变量!

\bullet 可以用造型:(同一个管理者共同管理不同的对象)

\bullet c = (Car) v;v是父类的变量,才为子类的对象。//只有当v这个变量实际管理的是Car才行。

java的变量对象 父类的对象不能赋给子类的变量 子类的对象赋给父类的变量 强迫Item成为CD,不总是安全的

1.4 造型:

\bullet 用括号围起来类型放在值得前面;

\bullet 对象本身并没有发生任何变化;

      \bullet 所以不是“类型转换”;

\bullet 运行时有机制来检查这样的转化是否合理:

      \bullet ClassCastException;

类型转换 造型

\bullet 向上造型:

    \bullet 拿一个子类的对象,当做父类的对象来用;

   \bullet 向上造型是默认的,不需要运算符();

   \bullet 向上造型总是安全的;

2. 多态:

2.1 函数调用的绑定:

   \bullet 当通过对象变量调用函数的时候,调用哪个函数这件事情叫绑定;

     \bullet 静态绑定:根据变量的声明类型来决定;

     \bullet 动态绑定:根据变量的动态类型来决定;//运行时才知道,java中成员函数的调用默认为动态绑定;

   \bullet 在成员函数中调用其他成员函数也是通过this这个对象变量来调用的;

2.2 覆盖override:

\bullet 子类和父类中存在名称和参数表完全相同的函数,这一对函数构成覆盖关系;

\bullet 通过父类的变量调用存在覆盖关系的函数时,会调用变量当时所管理的对象所属的类的函数;

3. OBJECT类:所有的类都是继承自Object的。

3.1 Object类的函数:

     \bullet toString();

     \bullet equals();

object 类

相关文章

  • Java进阶学习笔记(八)

    1.多态变量: 1.1 子类和子类型: 类定义了类型; 子类定义了子类型; 子类的对象可以被当做父类的对象来使用;...

  • 阿里资深架构师谈Java进阶攻略:7大技能+12份进阶笔记+面试

    本文整理了这份值得收藏的Java架构师进阶攻略,包括以下:7大进阶专题技能12份Java进阶学习笔记(包括Spri...

  • Java进阶

    注:采转归档,自己学习查询使用 Java进阶01 String类Java进阶02 异常处理Java进阶03 IO基...

  • JavaScript学习笔记(五)

    慕课网JavaScript进阶篇第9章学习笔记 JavaScript进阶篇—第9章 JavaScript学习笔记(...

  • Java进阶学习笔记终篇

    1、异常: 1.1 捕捉异常:数组下标越界 1.2 异常捕捉机制: 捕捉异常: 异常发生并不意味着程序一定要终止:...

  • Java进阶学习笔记(四)

    1.对象的识别: 2.对象交互:(时钟中小时与分钟之间的交互) 一个类表达两个对象;且没有直接联系; 3.封闭的访...

  • Java进阶学习笔记(五)

    1.类变量: 2.类函数:static的函数可以直接调用,其他的函数必须要对象。 3.记事本: 能存储记录; 不限...

  • Java进阶学习笔记(六)

    1.集合SET: 2.HASH表:penny--nickel--dime--quarter--half-dolla...

  • Java进阶学习笔记(十)

    1、数据与表现分离--细胞自动机: 死亡:如果活着的邻居的数量<2或>3,则死亡; 新生:如果正好有3个邻居活着,...

  • JAVA进阶学习笔记:反射

    一、定义 在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。 二、功能 1.在运...

网友评论

      本文标题:Java进阶学习笔记(八)

      本文链接:https://www.haomeiwen.com/subject/bobekctx.html