首页 > 编程语言 >Java多态

Java多态

时间:2022-12-23 20:00:51浏览次数:43  
标签:Java pet 子类 宠物 多态 Dog 父类

什么是多态?

同一个引用类型,使用不同的实例来执行不同的操作;

同一个父类,使用不同的子类对象执行不同的操作。

多态的实现:

1、声明父类创建子类(向上转型:子类转为父类 自动类型转换)

例如:把狗狗类变成宠物类使用

Pet dog=new Dog();

例如:把猫类变成宠物类使用

Pet cat=new Cat();

注意:

1、多态一定要有继承关系

2、子类重写父类的方法

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

2、将父类强制转换为子类,前提必须有继承关系(向下转型 父类转换为子类 强制类转换)

例如:将宠物强制变为我狗狗,才能使用特有方法

Dog dog=(Dog)pet;

dog.swimming();

例如:将宠物强制变为猫类使用,才能使用特有方法

Cat cat=(Cat)pet;

cat.patree();

注意:向下转型时,必须转换位父类指向的真实子类

强制转换的类型必须是原来创建的子类类型

实现多态的两种形式:

1、使用父类作为方法的形参实现多态

2、使用父类作为方法的返回值实现多态

instanceof运算符:

判断对象是否引用某个类或接口

例如:pet instanceof Dog 如果pet是Dog创建的对象,返回true,否则返回fslae


什么样的情况使用多态?

1、子父类关系

2、重复使用子类的时候

什么情况需要向下转型(强制转换)?

1、调用子类特有方法时

2、调用子类特有属性

例如: 主人喂养宠物 鸡、鸭、兔子、老鼠....

老板发工资(人) 管理层,后勤,保安,前台...

媒婆介绍相亲 凤姐、石榴姐、桥碧萝.....

1、分析类

父类:相亲

子类:凤姐、石榴姐、桥碧萝

调用类(多态):jieshao(相亲人 人)

标签:Java,pet,子类,宠物,多态,Dog,父类
From: https://blog.51cto.com/u_15907719/5966297

相关文章

  • 教你用JavaScript实现进度条
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个进度条。进度条数字自动增加,条状图片动画演示进度完成度。通过实......
  • Java中资源文件的使用(properties)
    properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释。 一......
  • 教你用JavaScript实现进度条
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个进度条。进度条数字自动增加,条状图片动画演示进度完成度。通过......
  • 2.Java基本语法(上):变量与运算符.md
    一、关键字和保留字关键字(keyword)的定义和特点定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写官方地址:​​https://docs.oracle.c......
  • 【Flutter】packages思维以及使用Java添加Android平台特定的实现在Flutter框架里的体
    packages思维即使软件包未在Pub。对于未用于公共发布的特殊插件或尚未准备好发布的软件包,可以使用其他依赖选项:dependencies:flutter:sdk:flutter路径依赖性:Fl......
  • java接口的实例化
    代码publicinterfaceRequestHandler{voidonRequest(Stringrecive,StringtoRespon);}publicinterfaceRequestHandler{voidonRequest(Stringrecive......
  • java项目打包(含lib jar包)
    1.无jar包<build><finalName>ZhiFou-1.0-SNAPSHOT</finalName><!--导出jar的名字--><plugins><plugin><groupId>org.apache.maven.plugins......
  • Project facet Java version 1.7 is not supported
    当运行这个web程序时,无法运行,提示错误如下:     当时安装的tomcat是tomcat7版本,安装的jdk版本是1.6。     配置的tomcat如下: window-Preferences-Server-Runtim......
  • 初学java懵了,这个异常是怎么产生的?
    一.异常现象最近壹哥的老表开始学Java啦,结果学了还不到两天,就遇到了他解决不了的问题,然后就跑来问我了。不知有没有其他初学java的小伙伴,大家可以过来围观一下,看看下面的问......
  • 实用干货!Java乱码问题原因及解决方案大全
    最近有粉丝给壹哥发来私信,问我Java里的乱码问题该怎么解决,说是自己被乱码问题给弄的焦头烂额的。其实乱码问题解决起来很简单,很多人搞不定乱码是由于没有找到导致乱码的根本......