社区
Java SE
帖子详情
java里变体类型如何处理?
mjc_88
2007-06-24 06:16:09
我自己定义了一个基类z,然后定义a,b两个类均继承至基类.
我在程序里需要定义了一个变量h.
变量h的类型有可能是a类,也有可能是b类.这是随机定的.在程序运行后,则确定了h的类型.请问在程序中我应该怎么定义这个变量h?
我试过用基类z来定义变量h,但是在程序运行的最后,它还是要转换成a或b类的
...全文
303
8
打赏
收藏
java里变体类型如何处理?
我自己定义了一个基类z,然后定义a,b两个类均继承至基类. 我在程序里需要定义了一个变量h. 变量h的类型有可能是a类,也有可能是b类.这是随机定的.在程序运行后,则确定了h的类型.请问在程序中我应该怎么定义这个变量h? 我试过用基类z来定义变量h,但是在程序运行的最后,它还是要转换成a或b类的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
风吹雨碎
2011-12-30
打赏
举报
回复
建议你使用Java的高级特性:
1.反射
2.泛型
mjc_88
2007-06-26
打赏
举报
回复
谢了.楼上的
捏造的信仰
2007-06-25
打赏
举报
回复
z h;
h = getInstanceOfAorB();
if (h instanceof a) {
// h 是 a 类的对象
} else if (h instanceof b) {
// h 是 b 类的对象
}
mjc_88
2007-06-25
打赏
举报
回复
以上的问题也等同于,如何在程序运行时,在来确定一个变量的类型,而又不能让这个变量为局部类型
mjc_88
2007-06-25
打赏
举报
回复
楼上说的只是定义,在程序运行时,h如果是a类的话,可能要调用get()方法.如果是B类的话也同样要调用get()方法.但这两个get()方法是不一样的.
孤风无缺
2007-06-25
打赏
举报
回复
z h = new a();或z h = new b();
mjc_88
2007-06-24
打赏
举报
回复
这个我知道啊,我是想知道如何定义变量.
缘之一道
2007-06-24
打赏
举报
回复
java 中,方法具有多态性,父类和子类具有相同方法名的话,
子类的方法会覆盖父类的方法
属性是没有多态性的,父类和子类具有相同属性名的话,
他们之间是遮盖的(shadow),有些书描述为影子变量,
区分父类和子类相同的属性名方法:this.xxx;
java
返回不同
类型
_
Java
,如果我想从函数中返回不同的
类型
怎么办?
public WHATTOWRITEHERE test(){try{transaction.begin();code which may trigger exceptiontransaction.commit();return true;}catch (
java
x.script.ScriptException ex){transaction.rollback();return ex.getMess...
153.
Java
Lambda 表达式 - 深入理解
Java
Function 接口及其高性能
变体
本文深入解析了
Java
中的Function接口及其
变体
,包括Function<T,R>、BiFunction<T,U,R>等核心接口,以及UnaryOperator<T>和BinaryOperator<T>等特例。文章详细介绍了如何通过这些接口实现数据转换和映射操作,并着重分析了针对基本数据
类型
的专用接口(如IntFunction、LongBinaryOperator等)在性能优化方面的优势。通过多个代码示例展示了这些接口在实际开发中的应用场景,如字符串
处理
、
Java
未来还是霸主吗?
Java
在当今企业中的未来到底是什么?
通过在 Checkpoint 引入协调恢复 (Project CRaC)、GraalVM 的原生镜像和通过 Project Loom 实现的虚拟线程,
Java
现在可以通过提供轻量、快速启动的服务来参与这一领域的竞争。
Java
通过其成熟的生态系统、对微服务架构的支持、增强的安全功能以及与云原生实践的兼容性,很好地满足了这些特征。
Java
的垃圾收集虽然是自动的,但从历史上看,它容易出现“停止世界”的暂停,这使得它不适合交互式系统(例如游戏开发),并且会给需要稳定、低延迟的系统带来问题。
C#中的
变体
协变和逆变统称为
变体
,这是用于数组
类型
,委托
类型
,泛型参数
类型
间进行隐式引用转换用的语法规则,有点类似多态。
变体
包括抗变,协变,它是为了
处理
泛型,委托中基类与派生类赋值问题而出现的,因此类似于多态。 关于协变我们很容易理解,它是实现派生级别高赋给派生级别低的。在泛型接口中,协变的标示是out,并且它表示的也是函数的返 回值,就根据这一点说明它就很类似。 关于抗变,接口中标
说说你对
java
lambda表达式的理解?
说说你对
java
lambda表达式的理解?
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章