Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在同一数组Java中调用扩展类函数

在同一数组Java中调用扩展类函数
EN

Stack Overflow用户
提问于 2014-09-22 08:56:46
回答 5查看 65关注 0票数 1

我有两个类LoanBook & STLoanBook,STLoanBook是LoanBook的扩展。它们都在同一个数组中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private static final LoanBook[] books = new LoanBook[50];
books[0] = new STLoanBook("B129", "Soil Mechanics", "Engineering");
books[1] = new LoanBook("B238", "Basic Biology", "Science");
books[2] = new LoanBook("B563", "Company Law", "Business");
books[3] = new STLoanBook("B342", "Cost Accounting", "Business");
books[4] = new LoanBook("B754", "Robotics", "Engineering");

我试图调用一个仅在STLoanBook中的函数备用(),当我通过一个for循环调用它时,它告诉我在检查LoanBook类时,reserve()并不存在。如何解决这个问题,因为循环已经检查了类SimpleName(),但它似乎仍然是错误的。帮助!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-22 09:02:04

您可以在for循环中使用instanceof运算符和casting

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    for (LoanBook book : books) {
        if (book instanceof STLoanBook) {
            ((STLoanBook)book).reserve();
        }
    }
票数 2
EN

Stack Overflow用户

发布于 2014-09-22 09:01:20

您可以通过在reserve()中创建LoanBook方法来修复这个问题,如果这个方法不需要做任何事情,就可以在STLoanBook中扩展这个方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void reverse() {
    return;
}

在LoanBook中。

票数 0
EN

Stack Overflow用户

发布于 2014-09-22 09:01:39

您需要instanceof和一个演员:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for( book : books ) {
    if( book instanceof STLoanBook ) {
         ((STLoanBook)book).reserve( );
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25979298

复制
相关文章
在Python中调用Java扩展包HanLP测试记录
最近在研究中文分词及自然语言相关的内容,关注到JAVA环境下的HanLP,HanLP是一个致力于向生产环境普及NLP技术的开源Java工具包,支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、神经网络依存句法分析)。
IT小白龙
2018/12/12
2K0
在Python中调用Java扩展包HanLP测试记录
Scala中调用Java类
Note: 1. Scala中无参函数调用的时候可以省略括号 2. Scala中推荐使用Option类,而不是Java中的obj != null这样的判断
卡尔曼和玻尔兹曼谁曼
2019/01/22
3K0
在Java中调用Python
在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢。当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单。恰好我在项目中就遇到了这个问题,需要在Java程序中调用Python程序。关于在Java中调用Python程序的实现,根据不同的用途可以使用多种不同的方法,在这里就将在Java中调用Python程序的方式做一个总结。
编程随笔
2019/09/11
5.1K0
在Java中调用Python
梳理:python—同一个类中的方法调用
因为在自己实践综合练习学过的知识时,突然觉得有些知识点的运用总是不成功,于是翻过课本进行回顾,总是觉得是对的,可是当再进一步思考“既然是对的,为什么在程序中总是不成功呢?”,后来发现,自己理所当然的理解(忽略了细节知识),导致程序通不过,现在结合同一个类中的不同方法中的变量调用 VS 不同函数中的变量调用。
py3study
2020/01/17
2.8K0
Go语言在模版中调用函数
如果希望调用自定义函数,需要借助html/template包下的FuncMap进行映射
IT工作者
2022/03/31
2.8K0
JS 函数中的 arguments 类数组对象
众所周知,js 是一门非常灵活的语言。当我们在 js 中调用一个函数时,经常会给函数传递一些参数,js 把调用函数时传入的全部实参存储到一个叫做 arguments 的类数组对象里面
很酷的站长
2022/12/04
5.4K0
JS 函数中的 arguments 类数组对象
【Groovy】Groovy 脚本调用 ( Java 类中调用 Groovy 脚本 )
Java 类中调用 Groovy 脚本 , 与 Groovy 类中调用 Groovy 脚本 , 代码基本类似 ;
韩曙亮
2023/03/30
1.9K0
【Groovy】Groovy 脚本调用 ( Java 类中调用 Groovy 脚本 )
函数在栈中的调用过程
栈是一种线性存储的数据结构,向下增长。其存在栈底和栈顶,栈对其中的数据元素有进栈和出栈的操作,遵循‘First In last Out’即FILO原则。
Elapse
2020/08/17
3.9K0
【Kotlin】apply 内联扩展函数 ( apply 函数原型 | apply 函数示例 | Kotlin 调用 Java API )
1 . apply 函数原型 : 泛型 T 类型对象 , 调用 apply 方法 , 后面定义了一个闭包代码块 ; 调用 apply 方法的对象类型是泛型 , 说明任何对象都可以调用该方法 ;
韩曙亮
2023/03/27
2.7K0
【Kotlin】apply 内联扩展函数 ( apply 函数原型 | apply 函数示例 | Kotlin 调用 Java API )
【Kotlin】扩展函数 ① ( 扩展函数简介 | 为 Any 超类定义扩展函数 | private 私有扩展函数 | 泛型扩展函数 | 标准函数 let 函数是泛型扩展函数 )
为 现有类 定义 扩展函数 , 可以在 不修改 原有类 的情况下 增加类的功能 ;
韩曙亮
2023/03/30
1.7K0
【Kotlin】扩展函数 ① ( 扩展函数简介 | 为 Any 超类定义扩展函数 | private 私有扩展函数 | 泛型扩展函数 | 标准函数 let 函数是泛型扩展函数 )
【Kotlin】扩展函数总结 ★ ( 超类扩展函数 | 私有扩展函数 | 泛型扩展函数 | 扩展属性 | 定义扩展文件 | infix 关键字用法 | 重命名扩展函数 | 标准库扩展函数 )
为 现有类 定义 扩展函数 , 可以在 不修改 原有类 的情况下 增加类的功能 ;
韩曙亮
2023/03/30
2.8K0
【Kotlin】扩展函数总结 ★ ( 超类扩展函数 | 私有扩展函数 | 泛型扩展函数 | 扩展属性 | 定义扩展文件 | infix 关键字用法 | 重命名扩展函数 | 标准库扩展函数 )
c++函数调用,函数编写(写自己的函数)以及数组调用,传递
在matlab里.m文件分执行文件和函数文件 在c++中执行文件指:main函数 函数文件:其他所有需要用到的函数
用户7886150
2021/02/03
2.3K0
show函数组合多个图形在同一个坐标系下
想要把某个图形元素(比如点、线)添加到已经绘制出来的图形中去的话? 方法可是有很多哟~~~ 我们一起来看最常用的方法吧!!! 用 Show 函数组合多个图形在同一个坐标系下. (点击图片下方,查看清晰
WolframChina
2018/05/31
8740
java封装数组类
* program OF information: 1.自定义类MyArray来封装数组类
用户7886150
2020/12/04
9390
Python print() 函数,在同一行打印
print() 函数是 Python 中的一个重要函数,因为它用于将 Python 输出重定向到终端或者重定向到文件。
润森
2022/09/22
2.6K0
Python print() 函数,在同一行打印
在ctypes的C共享库中调用Python函数
ctypes 是Python标准库中提供的外部函数库,可以用来在Python中调用动态链接库或者共享库中的函数,比如将使用大量循环的代码写在C语言中来进行提速,因为Python代码循环实在是太慢了。大致流程是通过 ctypes 来调用C函数,先将Python类型的对象转换为C的类型,在C函数中做完计算,返回结果到Python中。这个过程相对是比较容易的。
王云峰
2023/10/23
3750
如何理解数组在Java中作为一个类?【完整版】
Java中数组的使用方法和C/C++中的比较类似,但是在Java中它的本质是一个Java类,只是这个类比较特殊,所以很容易被一些程序员误解。建议在回答该问题的时候,全面地回顾下Java中数组的特性。
田维常
2019/09/20
1.1K0
java构造函数调用另一个构造函数_java中的构造函数
* 构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法
用户7886150
2021/04/29
4.5K0
点击加载更多

相似问题

扩展类的调用函数(Java)

24

在Java中扩展数组类

20

通过对象数组调用扩展类中的函数

32

在函数中调用扩展类的构造函数

10

调用扩展类函数

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文