zoukankan      html  css  js  c++  java
  • 多态以及类型转换

    向上转型:

    平行四边形也是一种类型的四边形,所以可以将平行四边形类的对象看作是一个四边形类的对象。

    这就相当于“Quadrangle obj = new Parallelogram();”,就是把子类的对象赋值给父类类型的变量,这种技术称为“向上转型”。

    由于向上转型是从一个较具体的类到较抽象的类之间的转换,所以它总是安全的。(如可以说平行四边形是特殊的四边形,但是不能说四边形是平行四边形)

    向下转型:

    通过向上转型可以推理出向下转型是将较为抽象的类转换为具体的类。这样的转型通常会出现问题。

    可以说子类对象总是父类的一个实例,但是父类对象不一定是子类的实例。

    public class Parallelogram extends Quadrange{

      public static void main(String args[]){

        draw(new Parallelogram());

        //将平行四边形类对象看做四边形对象,称为向上转型操作

        Quadrangle q = new Parallelogram();

        //Parallelogram p = q;

        //将父类对象赋予子类对象,这种写法是错误的。

        //将父类对象赋予子类对象,并强制转换为子类型,这种写法是正确的。

               Parallelogram p = (Parallelogram) q;

      }

    }

    多态:

    子类的对象赋值给父类类型的变量。

    如:Quadrangle q = new Square(); 

  • 相关阅读:
    常用的dos命令
    java环境的配置
    javascript面向对象个人理解
    js如何获取样式?
    springboot新建项目遇到Whitelabel Error Page
    CSS 隐藏页面元素的 几 种方法总结
    优美动听的葫芦丝名曲
    大前端资料合集
    CSS实现背景透明,文字不透明(兼容所有浏览器)
    文字上下无缝滚动效果
  • 原文地址:https://www.cnblogs.com/hezijian/p/3454968.html
Copyright © 2011-2022 走看看