首页 > 编程语言 >Java--多态

Java--多态

时间:2024-07-08 23:28:13浏览次数:15  
标签:run -- 子类 多态 Person Student Java 父类

1.多态为同一方法根据发送对象的不同而采用多种不同的行为方式

2.一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

3.多态存在的条件

        1.有继承关系

        2.子类重写父类方法

        3.父类引用指向子类对象

4.多态是方法的多态,属性没有多态

5.由于多态需要被重写,因static,final,private都不可以被重写,所以皆不存在多态

6.图中定义了Person类(父类),Student类(子类),以及主程序栏Application

        Person类中定义了一个run方法,Student类中定义了一个重写Person类的run方法一个一个单独的eat方法

        1.主程序中new了三个实例对象,其中new的都是Student类型的,由于Person类为Student类的父类,可以指向子类,所以new Person类型的Student类,同理,Object为所有类的父类,也可new Object类型的new Student;

        2.当只调用时是s2.run时,输出的为run;但当调用是时s2.run和s1.run两个方法时,二者输出结果为son,son;这是因为Student子类重写了父类的run方法,因此仅会执行子类的输出结果为

        3.当调用的是是s1.eat时,会输出子类的eat,但当调用s2.eat时,系统会进行报错,这是因为eat方法仅存在于子类Student类中,父类Person无法进行调用,但可想如图中所谓进行强制类型转换为Student类即可进行调用

标签:run,--,子类,多态,Person,Student,Java,父类
From: https://blog.csdn.net/weixin_57638634/article/details/140279412

相关文章

  • Java--方法重写
    1.方法的重写首先需要有继承关系,且为子类重写父类的方法2.方法名必须相同3.参数列表必须相同4.修饰符的范围可以扩大但不能缩小,public>protected>default>private,即父类的属性可以从private改为public,但不能反过来5.抛出的异常,范围可以被缩小,但不能被放大,如classnotfound-......
  • 7.8JAVA练习
    今天练了两道练习题,主要涉及知识点是面向对象的知识,包括类的创建,类的构造函数创建,对象数组创建,键盘录入等,练习代码如下,今天就到这里,明天继续加油!1.练习一:商品管理2.练习二:汽车类以上代码全为个人手写,有不合适的地方希望博友们多多指正,指引我不断前进。......
  • 代码随想录-DAY⑤-哈希表——leetcode 242 | 349 | 202
    242思路先遍历字符串1,记录每个字符的个数,然后遍历字符串2,挨个减去字符个数,出现小于零的个数说明字符总数不重合。时间复杂度:O(n)空间复杂度:O(1)代码classSolution{public:boolisAnagram(strings,stringt){if(s.length()!=t.length()){......
  • SVN 80道面试题及参考答案(2万字长文)
    目录解释SVN的全称和主要功能。SVN与CVS相比,有哪些主要改进?描述SVN的工作流程。什么是版本库(repository)?它存储了什么?解释工作副本(workingcopy)的概念。SVN如何处理文件的版本控制?SVN中的“commit”是什么意思?解释“update”操作的作用。如何查看一个文件的历史版......
  • Comfyui中图生图工作流,这样去掉参考图的背景
    本篇文章继续解决上一篇Comfyui加载大模型的注释文件,选择模型后参数设置不再迷茫中篇尾提到的问题,即怎么解决参考图背景太复杂,怎么去掉参考图的背景呢,下面的工作流就可以仔细观察今天这个图生图工作流,发现和上一篇的工作流整体区别不大,只是添加了四个新节点,这四个节点整体提......
  • 搭建本地yum源
    一、环境准备1.准备2-3台虚拟机,一台为服务端(安装yum源),其余的为客户端(测试yum源安装结果),最好是同网段的。IP地址角色备注192.168.116.5服务端将完整镜像上传到这台机器192.168.116.15客户端192.168.116.25客户端2.准备镜像文件,这里以CentOS-7-x86_64-2009,当然最好是使用CentO......
  • 命令行开发工具
    GNU工具集在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是Unix家族,当时还没有Windows、Linux之类的,Unix系统都是商业软件,里面的应用软件也是商业软件,全是封闭的环境。系统程序员RichardM.Stallman(RMS)在此环境下创立了与众不同的GNU项目(GNU'sNotUni......
  • diffusion model 代码
    %matplotlibinlineimportmatplotlib.pyplotaspltimportnumpyasnpfromsklearn.datasetsimportmake_s_curveimporttorchs_curve,_=make_s_curve(10**4,noise=0.1)s_curve=s_curve[:,[0,2]]/10.0print("shapeofs:",np.shape(s_curve))data......
  • rfs (PID:146054): Database mount ID mismatch案例
    测试环境中,新搭建的Oracle19cDG,在主备切换后,新的主库的告警日志中一直出现类似下面这样的错误:.........................................2024-07-08T13:40:55.384302+08:00 rfs (PID:146054): Database mount ID mismatch [0x358d50ef:0x358e23cd] (898453743:8985077......
  • k8s集群离线部署
    K8s离线部署环境目标k8s离线部署步骤部署docker详情见文章:《离线安装docker及后端项目离线打包》https://blog.csdn.net/qq_45371023/article/details/140279746?spm=1001.2014.3001.5501所用到的所有文件在:链接:https://pan.baidu.com/s/10cb-dXkgdShdjPEBCyvTrw?......