zoukankan      html  css  js  c++  java
  • day08 多态性 instanceof

    /*
    多态:可以理解为事物存在的多种体现形态、
    1,多态的体现
        父类的引用指向了自己的子类的对象。
        父类的引用也可以接受自己的子类对象。
    2,多态的前提
        必须是类与类之间有关系。要么继承,要么实现。
        通常还有一个前提:存在覆盖
    
    3,多态的好处
        多态的出现大大提高程序的扩展性。
    
    4,多态的弊端
    
        提高了扩展性,但是只能使用弗雷的引用访问父类中的成员
    5,多态的应用
    
    
    多态自始至终都是子类在做着变化
    
    
    instanceof是Java的一个二元操作符,和==,>,<是同一类东东。
    由于它是由字母组成的,所以也是Java的保留关键字。
    它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。
    
    ================================================================ 在多态中成员函数(非静态)的特点:
    在编译时期,参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。
    在运行时期,参阅对象所属的类中是否有调用方法。

    简单总结就是:编译时看左边类,运行看右边类;

    在多态中,成员变量和静态函数的特点:
    无论编译和运行,都参考左边(引用型变量所属的类)
    */ abstract class animal { abstract void eat(); } class cat extends animal { public void eat() { System.out.println("eat rou"); } public void sleep() { System.out.println("sleep"); } } class test { public static void main(String[] args) { animal c = new cat();//类型提升,向上转型(强制类型转换) //如果想要调用猫的特有方法,如何操作? //强制将父类的引用,转成子类类型,向下转型、 c.eat(); cat d = (cat) c; d.sleep(); } }

    Object:是所有对象的直接或间接父类。
    该类中定义的肯定是所有对象都具备的功能、

  • 相关阅读:
    iOS开发 贝塞尔曲线UIBezierPath
    iOS开发 解决使用AVAudioRecorder录制后转mp3解决音量小的问题
    比JDK高效的array equals
    高性能web架构原则
    基于内存映射的千万级数据处理框架
    LesenRPC-基于netty/protobuffer的高性能RPC框架
    java垃圾回收机制详解
    MVC架构详解
    用抽象实现代码解耦
    python按年份统计文件数量
  • 原文地址:https://www.cnblogs.com/WDKER/p/5619775.html
Copyright © 2011-2022 走看看