Java基础——多态性

Android java基础_多态性 【代码】Android java基础_多态性。 阅读详情

java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态(Polymorphism)。

实例程序如下:

 

class BaseClass
{
	public int book=6;
	public void base()
	{
		System.out.println("父类的普通方法");
	}
	public void test()
	{
		System.out.println("父类的被覆盖的方法");
	}
}
public class SubClass extends BaseClass
{
	public String book = "轻量级java EE企业应用实战";
	public void test()
	{
		System.out.println("子类的覆盖父类的方法");
	}
	public void sub()
	{
		System.out.println("子类的普通方法");
	}
	public static void main(String[] args)
	{
		BaseClass bc = new BaseClass();
		System.out.println(bc.book);
		bc.base();
		bc.test();
		SubClass sc = new SubClass();
		System.out.println(sc.book);
		sc.base();
		sc.test();
		//BaseClass 是编译时类型,SubClass是运行时类型
		BaseClass ploymophicBc = new SubClass();
		System.out.println(ploymophicBc.book);
		ploymophicBc.base();
		ploymophicBc.test();
	}
}

 

 

 

 

运行结果:

6
父类的普通方法
父类的被覆盖的方法
轻量级java EE企业应用实战
父类的普通方法
子类的覆盖父类的方法
6
父类的普通方法
子类的覆盖父类的方法

 

相同类型的变量,调用同一个方法时呈现出多种不同的行为特征,这就是多态

Windows Server 2008 R2装不上VMware Tools?别急,手动安装驱动补丁的保姆级教程来了 本文提供了Windows Server 2008 R2手动安装VMware Tools驱动补丁的详细教程,解决驱动签名验证失败问题。通过获取特定补丁文件、创建安装介质、挂载虚拟机并安装补丁等步骤,帮助用户顺利完成VMware Tools安装,提升虚拟机功能与性能。 阅读详情

相关推荐

当FPGA遇上Codesys:用Verilog实现ModbusTCP协议栈的3种方法(Xilinx/Vivado实测)

本文详细介绍了在Xilinx FPGA上使用Verilog实现Modbus TCP协议栈的三种方法,并与Codesys环境无缝集成。从基础架构设计到纯Verilog实现、基于AXI总线的混合方案,再到与Codesys的集成方法,为开发者提供了完整的工业自动化通信解决方案。通过实测数据对比,帮助开发者选择最优实现方案。

weixin_29172963的博客 522

继承

建立 C 类的对象时,B 的构造函数将被调用两次:一次由B1调用,另一次由 B2 调用,以初始化 C 类的对象中所包含的两个 B 类的子对象

sdjcwangwei的博客 427

基础知识学习 -- qnx 系统

qnx os车载系统

求变,从思想开始 3873

java基础-多态性

通过传入不同java中定义的Connection的子类对象,实现多态,各大数据库厂商通过改写父类中java定义的方法,来实现各自数据库的操作;编译时e为person对象,而方法的调用是在运行时确定的,所以调用的是Student类的方法。也就是说,多态情况下,我们只能调用父类中存在的方法,然而实际运行时,运行的是子类中的方法;而自己创造的类,调用根父类未重写的equals方法,他的判断相当于==,是判断的地址值;2.虚拟方法调用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法;

2401_88876805的博客 889

基于Python+OpenCV中文及符号检测

一、项目背景与意义在图像处理、文档识别、自动翻译等场景中,中文及符号的准确检测是一个重要且复杂的任务。传统的字符检测方法往往对英文等拉丁字母系的识别效果较好,但对中文及特殊符号的识别准确率较低。本项目旨在利用Python编程语言结合OpenCV库,开发一个能够高效、准确地检测图像中中文及符号的系统,为相关领域的研究和应用提供技术支撑。二、技术实现图像预处理:利用OpenCV的图像处理功能,对输入的图像进行灰度化、二值化、滤波去噪等预处理操作,以提高中文及符号检测的准确性[1]。

2301_79809972的博客 1119

盘点军工行业软件研发的那些常用GJB标准

GJB5000、2786、438、141、102、8114等...

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 9450

java基础~多态性

目录 多态性引入 多态性下关于方法的调用 多态使用注意事项 关键字instanceof和类型转换 instanceof关键字 类型转换 关键字static 使用static修饰属性 使用static修饰方法 static关键字使用注意点 代码块 静态代码块 非静态代码块 代码块与构造器执行的优先级 对属性赋值的优先级 抽象类(关键字abstract) abstract修饰类:抽象类 修饰方法:抽象方法 abstract使用上的注意点 接口(inferface)

weixin_48035827的博客 4295

02.1 知识图谱工具 Protege的下载安装与使用

Protege的下载安装与使用 本文是王昊奋老师《知识图谱》系列笔记第2.1篇。 文章目录Protege的下载安装与使用0 相关介绍0.0 Protege相关介绍0.1 Protégé的特点0.2 Protégé的用途1 Protege的下载1.1 准备工作:安装配置JAVA环境1.2 官网下载2 Protege的安装2.1 直接解压缩2.2 双击运行3 Protege的使用实例-创建类...

和而不流 7万+

java基础之多态性

1.多态性的理解:可以理解为一个事物的多种形态。 2.何为多态性: 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) 举例: Person p = new Man(); Object obj = new Date(); 3.多态性的使用:虚拟方法调用 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。 总结:编译,看左边;运行,看右边。 4.多态性的使用前提: ① 类的继承关系 ② 方法的重写 举例一: public v

weixin_47481936的博客 242

windows版vCenter STS证书替换步骤说明

windows版vCenter STS证书,手动更新步骤

技术是手段,服务才是目的。开源与协作是创新的活水,而核心技术的自主可控是立足之本。身处黄金时代,唯持续学习,方能不惧变化。从使用者到创造者,中国技术的未来,正待你们接过火炬,走得更远、更稳、更好。 1043

【数据集】中国广泛时空水质数据集(1980-2022)

简介中国广泛时空水质数据集(1980-2022)

WW、forever的博客 3995

Java基础(八):封装、继承、多态性

从类的定义来看,类是一类具有相同特性的事物的抽象描述。而实例变量和实例方法就是事物的特征,那么父类中声明的实例变量和实例方法代表子类事物也有这个特征。如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有空参的构造器,则。所以继承意味着子类的对象除了看子类的类模板还要看父类的类模板。问题:在创建子类对象的过程中,一定会调用父类中的构造器吗?一个引用类型变量可能指向(引用)多种不同类型的对象。特别说明:应该避免子类声明和父类重名的成员变量。问题:创建子类的对象时,内存中到底有几个对象?

从基础到源码解析的学习记录 2983

YOLO26改进策略【Neck】| 关键点检测:SDFM 表层细节融合模块,利用通道-空间注意力机制,实现深层与浅层特征融合,抑制噪声干扰

本文记录的是利用SDFM 模块改进 YOLO26 的颈部融合部分,专门用于关键点检测。SDFM模块(Surface Detail Fusion Module,表层细节融合模块) 通过在特征提取网络的浅层引入通道-空间注意力机制,动态生成深层与浅层特征融合权重。该模块可自适应保留不同模态中的独特信息,抑制背景噪声与光照干扰,实现低层细节的精准对齐与互补增强,为后续检测提供高保真度的底层特征表示,从而提升模型在复杂场景下的目标检测鲁棒性与定位准确性。Rethinking the necessity of ima

Limiiiing的博客 176

Java基础之多态性

来自:http://blog.chinabyte.com/a/894990.html 多态性是通过:     1 接口和实现接口并覆盖接口中同一方法的几不同的类体现的     2 父类和继承父类并覆盖父类中同一方法的几个不同子类实现的.     一、基本概念     多态性:发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法...

liao49的专栏 222

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

从基础到应用:全面理解Java多态性

通过多态,可以使用DatabaseOperation类型的变量来引用不同的数据库实现对象,在运行时根据实际使用的数据库类型调用相应的方法,提高了代码的可移植性和可维护性。例如,Warrior(战士)和Mage(法师)类继承自Character(角色)类,它们对attack方法的实现不同,在游戏运行时根据实际角色类型调用相应的攻击方法。通过多态,在绘制图形时可以使用Shape类型的变量来引用不同的子类对象,根据实际对象类型调用相应的绘制方法,使得代码结构清晰,易于扩展。

jarfg35的博客 276

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java基础多态性

多态性通过允许同一界面指定一类动作减少了程序的复杂度,编译器工作就是选择适用于各个情况的特定动作,而程序员则无须手动进行选择,使用者仅仅是记得以及利用这个统一的界面。多态性是一种允许使用一个界面来访问一类动作的特性,特定的动作可以由不同的具体情况而定(传入不同的参数)。是动物类别的,所以只能调用动物类定义的方法,而不能调用猫中特殊的方法。有两种形态,猫这类事物即具有猫的形态,又具有着动物的形态,这就是对象的多态性。允许父类中返回的是父类型,而子类中返回子类型,例如父类中返回的是Number。........

zjh0101的博客 112

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java基础——对象多态性

Java基础——多态 一、定义   多态:指一个类实例的相同方法在不同情形下有不同的表现形式 二、多态的分类   多态有两种分类,向上转型(90%)和向下转型(1%)   1、向上转型:用于参数统一化(形参为父类的引用,实参为子类的对象,最终调用的方法还是看new后面的对象)       父类 父类引用 = new 子类对象();       子类对象(new出来的是对象)给了父类引用(父类引用...

xiaoaxiao 234

JAVA基础-多态性

父类的引用指向子类的对象?(多态性) 直白理解父类的引用指向子类的对象 //1、父类引用指向子类对象 //它是一个List对象,有些ArrayList有但是List没有的属性和方法,它就不能再用 //只能用List对象和ArrayList共有的方法 List<Integer> list = new ArrayList<Integer>(); // 2、子类引用指向子类对象 // 他是一个ArrayList对象,是List的子类,继承了Lis

qq_44053847的博客 602

Java基础语法52-多态性

Java基础语法52-多态性 文章目录Java基础语法52-多态性1.理解多态性2.何为多态性3.多态的使用4.多态性使用的前提5.对象的多态性,只适用于方法,不适用于属性 1.理解多态性 可以理解为一个对象的多种形态 2.何为多态性 对象的多态性:父类的引用指向子类的对象 3.多态的使用 虚拟方法调用,有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但是运行期,我们实际执行的是子类重写父类的方法。 总结:编译看左边,运行看右边。 4.多态性使用的前提 类的继承关系 方法的重写 5.对象

A1066223647的博客 167

[Java基础] 多态性

1、Java 引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态性; 2、引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法,这就是方法多态性的体现。 3、多态性是针对方法的,对象的属性不具备多态性。

不忘初心 方得始终 742

JAVA基础9-多态性

多态性,虚拟方法调用,instanceof操作符,Object类的使用,toString方法

weixin_64925940的博客 252

Java 基础学习之对象的多态性

1. 基本概念 1.1 在 Java 中面向对象的多态性主要有以下两种体现方式: 方法的重载与覆写。 对象的多态性。 而对象的多态性主要又分为以下两种类型: (1)向上转型:子类对象 —> 父类对象 (2)向下转型:父类对象 —> 子类对象 对于向上转型,程序会自动完成,而对于向下转型时,必须明确的指明要转型的子类类型。格式: 对象向上转型:父类 父类对象 = 子类实例; 对象...

IT小白的博客 544

【Java_基础】java中的多态性

方法的重载、重写和动态链接构成了java的多态性。 1.方法的重载 同一个类中多个同名但形参有所差异的方法,在调用时会根据参数的不同做出选择。 2.方法的重写 子类中重新定义了父类的方法,有关方法重写的规则请参考文章:Java中方法重写的注意事项。 3.动态链接 动态链接出现在父类引用指向子类对象的场景。 因为子类中有一个隐藏的引用super指向父类实例,当出现父类引用指向子类对象时...

weixin_30709635的博客 90

【Java基础】多态性

为什么80%的码农都做不了架构师?>>> ...

weixin_34197488的博客 76
上一篇: Java基础——java语言的4个访问控制符
下一篇: Java基础——自学java之路
冷静BB
博客等级 码龄12年 298粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值