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:是所有对象的直接或间接父类。
    该类中定义的肯定是所有对象都具备的功能、

  • 相关阅读:
    10. 王道考研-树与二叉树
    Shell基础论证实例
    关系型数据库与非关系型数据库区别
    中高级测试工程师面试题
    idea中cucumber环境搭建
    Java开发中对Redis的基本操作总结
    TestNG 单元测试框架(针对于testNG.xml配置)
    jmeter(四十五)常用Beanshell脚本
    Jmeter(二十一)_脚本两种参数化
    Jmeter(十五)_上传与下载
  • 原文地址:https://www.cnblogs.com/WDKER/p/5619775.html
Copyright © 2011-2022 走看看