首页 > 编程语言 >java多态——面向对象进阶

java多态——面向对象进阶

时间:2024-06-03 22:58:45浏览次数:27  
标签:调用 java 进阶 子类 Father 多态 Son 父类

学习多态之前要先了解继承

定义:

        对象的多种形态。(就是爸爸管儿子)

例子:Father f = new Son();  这里的Father是父类,Son是继承父类Father的子类

应用场景/好处

        使用父类型作为参数,可以接受所有子类对象,体现多态的拓展性与遍历(儿子太多,不好管,没事,可以找儿子他爹)

使用多态的前提条件:

        1.有继承/实现关系

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

        3.有方法的重写

多态调用成员的特点

例子:Father f = new Son()

        1.f调用成员变量时,只调用父类的成员变量,父类没有就会报错

        2.调用成员方法时,只会调用子类的成员方法。(注意:这里的子类成员方法必须重写父类的成员方法才可调用,否则会报错。)

利弊:

        利:使用父类型作为参数,可以接受所有子类对象,体现多态的拓展性与遍历

        弊:不能使用子类特有的功能(如果非要使用,就要把它转换成子类类型)

                例如:Father f = new Son();  Son s = (Son) f;然后才可使用子类的特有功能

标签:调用,java,进阶,子类,Father,多态,Son,父类
From: https://blog.csdn.net/Datoulu1/article/details/139374491

相关文章

  • Java基础——抽象类与抽象方法
    抽象方法:    将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容不一样,所以,在父类中不能确定具体的方法体。该方法可以定义为抽象方法抽象类:    如果一个类中存在抽象方法,那么该类就必须声明为抽象类抽象方法的定义格式:    publicabstra......
  • Java爬虫-爬取疫苗批次信息
        今年3月份开始,就接到通知,根据《关于开展有关人群第二剂次脊髓灰质炎灭活疫苗补种工作的通知》国疾控卫免发〔2024〕1号文件要求,在2016年3月1日至2019年9月30日之间出生的儿童,凡无接种禁忌者,需补齐2剂次脊髓灰质炎灭活疫苗。由于我家一直是异地打针【在外漂打工,懂的都......
  • java学习日记-字符流
    字符流字符流的简介字符流不同于字节流,字符流一般用于文本的操作字符流的主要操作数据类型是char字符流的操作1.字符流是一个资源对象,在操作后需要对其进行closeReaderfr=newFileReader("文件名");Writerfw=newFileWriter("文件名");创建对象,注意writer对象若......
  • JAVA周总结6.3
    从5.23号开始,学习了很多知识,现在来整理一下。5月23日一.键盘录入Scanner,1,整数录入:inti=sc.nextInt();2,字符串:Stringstr=sc.next();3,判断:Booleanbon=sc.nextBoolean();4,小数:doubledob=sc.nextDouble();3和4不是很常用。二.if和elseif,else的使用if(条......
  • Java中的键盘输入类Scanner包的用法
    在Java中,Scanner类是java.util包下的一个实用类,它提供了一种方便的方法来解析从各种输入源(如文件、字符串或控制台)读取的原始数据。Scanner类使用了正则表达式来解析输入的数据,因此它非常强大且灵活。以下是一些使用Scanner类的常见场景和示例:1.从控制台读取输入impo......
  • JAVA学习笔记6
    学习目标:精通JAVA学习内容:1.方法调用packagecn.itcast.day04.demo02;/*publicclassDemo01Method{publicstaticvoidmain(String[]args){for(intj=1;j<5;j++){for(inti=1;i<20;i++){System.out.print(“*”);}System.out.println();}}}......
  • java使用百度地图接口校验收货地址是否超出配送范围
    1.地理编码API服务地址:https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocationMapmap=newHashMap();map.put("address",shopAddress);map.put("output","......
  • 关于java类型转换题目
    publicclasstest2{publicstaticvoidmain(String[]args){System.out.println(zh(123));df();ca();longToInt();ByteToShort();booleanToString();conversion();FloatToDouble();IntToCha......
  • java 线程池 Executors原生三大方法
    packagecom.chen.pool;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;publicclassTest1{publicstaticvoidmain(String[]args){//平时我们创建一些类使用工具类操作s//总数可以管理//线程池Executors原生三大方法......
  • 【精品毕设】基于JavaEE的线上考试系统设计实现(包含源码和论文)
    摘 要随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。本文设计开发的考试管理系统也是其中重要的一个方面。该系统本着减轻教师工作负担、提高工作效率、优化学生......