首页 > 其他分享 >多态

多态

时间:2022-10-02 15:22:17浏览次数:41  
标签:对象 Demo 多态 引用 new 重写

多态

关于对象和对象的引用的的理解:

Demo demo=new Demo();

这一条语句,其实包括了四个动作:
1)右边的“new Demo”,是以Demo类为模板,在堆空间里创建一个Demo对象。
2)末尾的()意味着,在对象创建后,立即调用Demo类的构造函数,对刚生成的对象进行初始化。
3)左边的“Demo demo”创建了一个Demo类引用变量,它存放在栈空间中。也就是用来指向Demo对象的对象引用。
4)“=”操作符使对象引用指向刚创建的那个Demo对象。

关于重写和多态的理解

public class Rewrite {
    public static void main(String[] args) {
        //非静态方法:子类重写类父类方法,方法的调用和右边类型有关
        A a = new A();
        a.test();
        B b = new A();/*父类的引用指向子类的对象,对象的类型是A,对象的引用是B,对象能用的方法取决于引用,若有重写,执行时走的方法时子类重写后的方法*/
//        b.test();
//        B b2 = new B();


        //静态方法:方法的调用只和左边的类型有关
        A a1 = new A();
        a.test1();
        B b1 = new A();
        b.test1();
    }
}

instanceof

b = a instanceof A  //返回值类型为bool,判断引用a是否与A存在继承关系

标签:对象,Demo,多态,引用,new,重写
From: https://www.cnblogs.com/qt0312/p/16748823.html

相关文章

  • 多态
    灵活调用替换扩充性强继承、引用,重写写一个shap类,有一个方法getArea(),获取图形面积publicclassShap{/***写一个方法获取图形面积*/publicvoid......
  • 多态
    多态动态编译:类型即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件有......
  • 封装,继承,多态
    封装属性私有get/set(有时候设置安全性的判断)提高程序的安全性,保护数据隐藏代码的实现细节同意接口系统可维护增加了继承继承的本质是对某一批嘞的抽象,......
  • 我学习 C++ 运行时多态性的方法
    我学习C++运行时多态性的方法我的简短故事与实施原因。我希望你能明白我做了什么。我创建了一个设计文档。这有望帮助其他人理解我的解决方案。这是链接到员工工厂源代......
  • C#:多态之虚方法、抽象类、接口、 类的序列化、MD5加密。
     (总的来说多态的作用便是解决代码的冗余问题,但代码更加具有可读性,更加的简洁)多态的第一种表现形式:虚方法usingSystem;usingSystem.Collections.Generic;usingSystem......
  • 面向对象---多态的基础语法
    多态的基础语法Q:什么是多态?A:多种形态,多种状态。学习多态基础语法之前,我们需要普及两个概念。注意---java中允许向上转型,也允许向下转型无论是向上转型,还是向下转型,两......
  • 面向对象编程三大特征(封装、继承和多态)
    1基本介绍面向对象编程有三大特征:封装、继承和多态。2封装介绍3封装的理解和好处4封装的实现步骤(三步)5案例不能随便查看人的年龄,工资等隐私,并对设置的年......
  • 13.5 多态的实现
     classStudent:def__init__(self,name,age):self.name=nameself.age=agedef__str__(self):#object中有__str__()方法,用于对......
  • 类与对象——多态
     多态的基本概念多态是C++面向对象三大特性之一多态分为两类静态多态:函数重载和运算符重载属于静态多态,复用函数名动态多态:派生类和虚函数实现运行时多态静......
  • python 封装、抽象、多态和继承的实现
    封装的实现#封装classpeople:def__init__(self,name,money):self.name=nameself.__money=money#私有属性,只能类的内部使用--》数据封装......