浅谈Java的多态

多态


多态的必要条件

  1. 必须存在继承关系
  2. 必须存在方法重写
  3. 父类引用指向子类对象

多态访问成员的特点

  • 成员变量:编译时期看左边类型,运行时期看左边类型
  • 成员方法:编译时期看左边类型,运行时期看右边类型
  • 构造方法:帮助子类初始化父类继承过来的成员
  • 静态方法:编译时期看左边类型,运行时期看左边类型

多态的优点

  1. 简化了代码
  2. 提高了维护性和扩展性

多态的两种实现方式

  1. 使用父类作为方法的形参实现多态
  2. 使用父类作为方法返回值实现多态
  3. 当这个作为参数的父类是普通类或者抽象类时,构成继承多态
  4. 当这个父作为参数的父类是一个接口时,构成接口多态

多态作为形参

​ 形式参数

​ 基本类型满足类型转换的规则

​ 引用数据类型

​ 普通类

​ 当一个形参希望我们传入的是一个普通类时,我们实际上传入的是该类的对象/匿名对象

​ 抽象类

​ 当一个形参希望我们传入的是一个抽象类时,我们实际上传入的是该类的子类对象/子类匿名对象

​ 接口

​ 当一个形参希望我们传入的是一个接口时,我们实际上传入的是该类的实现对象/实现类匿名对象

多态作为返回值

返回值类型

​ 基本类型

​ 引用类型

​ 普通类

​ 当一个方法的返回值是一个普通的类时,实际上返回的是该类的一个对象,我们可以使用该类的对象接受

​ 抽象类

​ 当一个方法的返回值是一个抽象类时,实际上返回的是该对象类的子类对象,我们可以使用该抽象类接收

​ 接口

​ 当一个方法的返回值是一个接口时,实际上返回的是该接口的实现类对象,我们可以使用接口接收

多态的缺点以及解决办法

缺点:通过多态的引用无法访问子类特有的方法

解决办法:

​ 向上转型(自动转换)

​ 格式:<父类型> <引用变量名> = new <子类型>();

​ 特点:

​ 子类转为父类 父类的引用指向子类对象。自动进行类型转换

此时通过父类引用变量调用的方法是子类覆盖或继承的方法

此时通过父类引用变量无法调用子类特有的属性和放法

向下转型(强制转换)

格式: <子类型> <引用变量名> = (<子类型>) <父类型的引用变量>;

特点:

父类转为子类,父类引用转为子类对象。理解为强制类型转换

在向下转型的过程中,如果没有转换为真实子类类型,会出现类型转换异常

ClassCastException

异常名称:类型转换异常

产生原因:在向下转型的过程中没有转换为真实的类型

解决办法:对父类的所有子类做逐一类型判断

instanceof关键字

格式:左边对象 instanceof 右边类

作用:判断左边对象是否属于右边类的实例,是返回true,不是返回false

目前我们知道使用向下转型 + instanceof关键字能够解决多态的缺点

但是我们清楚 如果需要对父类的所有子类做逐一判断,可能存在安全隐患或者违反开闭原则

但是还有一个Object类,该类有无数个子类,所以如果父类引用是Object,那么安全隐患永远存在

内容概要:本文详细介绍了一个基于秃鹰搜索算法(BES)优化最小二乘支持向量机(LSSVM)的多特征分类预测项目,涵盖从理论原理、模型架构、代码实现到GUI界面设计的完整流程。项目通过BES算法自动优化LSSVM的关键参数(如正则化参数C和核函数参数gamma),提升模型在高维、多特征数据下的分类精度与泛化能力。结合特征工程、交叉验证、数据增强等技术,有效应对过拟合与参数调优难题,并通过混淆矩阵、ROC曲线、t-SNE可视化等多种方式实现结果解释与模型评估。项目还提供了完整的目录结构、模块化代码封装、并行计算支持及可扩展的部署架构,适用于金融风控、医疗诊断、工业故障检测等多个领域。; 适合人群:具备一定Python编程基础和机器学习知识的研发人员、数据科学家及工程技术人员,尤其适合从事智能算法开发、模型优化与实际工程落地的相关从业者;工作年限建议在1-5年之间。; 使用场景及目标:①在高维多特征数据场景中实现高精度分类预测;②解决传统LSSVM人工调参困难的问题,实现参数自动寻优;③构建可解释、可可视化、可部署的智能分类系统,支持金融、医疗、工业等领域的智能决策应用;④学习如何将智能优化算法(如BES)与经典机器学习模型(如LSSVM)融合并实现端到端项目开发。; 阅读建议:建议读者结合文中提供的完整代码进行实践操作,重点关注BES优化算法的实现逻辑、LSSVM的训练流程以及GUI界面的集成方式。在学习过程中,可尝试更换数据集、调整参数范围或引入其他优化算法进行对比实验,以深入理解模型性能变化机制。同时,建议关注项目部署与可扩展性设计,为后续工程化应用打下基础
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值