zoukankan      html  css  js  c++  java
  • 第6章 类的多态

    作用:现实事物经常会体现出多种形态,以学生为例,学生是人的一种,像是学生张三,不仅是学生,还是人,

    出现了俩种形态.如果Student类继承了Person类,一个Student的对象就又是Student还是Person.

    java的多态体现在一个子类对象,不仅可以给这个子类引用别量赋值,又可以给这个子类的父类(或接口)变量赋值.

    多态的使用方法(用父类类型的变量去引用子类的对象):

    父类类型(或接口) 变量名= new 子类类型();
    变量名.方法名();

      同一个父类的方法会被不同子类重写,当调用方法的时候,调用的是各个子类重写的方法

    但是用父类的变量去引用子类类型的对象.只能访问子类的父类成员变量和成员方法,而不能访问子

    类中有但父类中没有定义的成员变量和成员方法.

    多态转型

    多态转型有俩种:

    1、向上转型:父类类型变量引用子类类型变量

      

    父类类型 变量名 = new 子类类型();

    当子类使用父类的功能就能完成相应的操作,这时就可以使用向上转型

    2、向下转型:子类类型变量引用父类类型变量

    子类类型 变量名 =(子类类型) new 父类类型();

    当父类想要使用子类特有功能的时候,就需要使用向下转型了;

    instanceof关键字:像一个二目运算符,用于判断一个对象是否属于某种数据类型

    对象 instanceof 数据类型;//返回值为boolean型,true或false

    课后习题:

    1、面向对象的三大特性是什么?

      继承、封装、多态

    2、多态转型有哪些实现方式?

      有向上转型和向下转型,向下转型是使用父类类型变量引用子类对象,这样可以使用父类的方法,向下转型是使用子类类型变量引用父类对象(将父类对象强制转换成子类类型),这.当想要子类使用父类方法时,使用向上转型,想要父类使用子类方法时,使用向下转型.

  • 相关阅读:
    Kafka项目实战-用户日志上报实时统计之应用概述
    ElasticSearch实战-编码实践
    ElasticSearch实战-入门
    Django如何渲染markdown
    理解相似矩阵
    从向量空间的角度来理解方程组有无解的问题
    凸优化学习笔记(1)-基础概念
    Django如何与JQuery进行数据通信?
    JQuery学习笔记之属性与样式
    JQuery学习笔记之选择器
  • 原文地址:https://www.cnblogs.com/youjunhui/p/14881705.html
Copyright © 2011-2022 走看看