社区
Java SE
帖子详情
java運算子
joey kang
2020-06-21 07:51:32
(A)b.test();-------------------------------------->編譯錯誤
((A)b).test();------------------------------------------------->正確
請問為什麼
(A)b不會先算,而要加( )才會先算呢?
...全文
4316
3
打赏
收藏
java運算子
(A)b.test();-------------------------------------->編譯錯誤 ((A)b).test();------------------------------------------------->正確 請問為什麼 (A)b不會先算,而要加( )才會先算呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CS_草祭先生
2020-06-23
打赏
举报
回复
1、你这个test()方法肯定是A类里面,b所对应的实体类里应该是没有的; 2、括号的优先级最高,所以((A)b)就是先把b转换为A,然后才能点出test()方法; 但是这种所谓的正确也有很大的风险,如果类型不兼容也一样会类型转换错误异常。
rumlee
2020-06-22
打赏
举报
回复
(A)b.test(); 等同于 (A)(b.test()); 如果b.test()的返回值是允许强制转换A类型的话,则 A a = (A)b.test(); 这种写法也是没毛病的,但是你的写法那肯定是错误的。
人情茶色
2020-06-22
打赏
举报
回复
首先你b里面是没有方法test方法,A中存在test方法对吧,而(A)b.test(); 表示的是将b.test();的返回结果强转为A类;
而((A)b).test(); 表示的是,先将b强转为A后去点用test方法,等同于直接用A调用A中的方法
java
_calculator实现
遍历运
算子
集合,优先运算乘法和除法(遇到乘法除法的时候,移除运
算子
,并计算) * 4.之后剩下的就是加法和减法,依次遍历计算 * 5.如果有括号的情况,递归调用 * 计算的核心思路 * 从运
算子
集合中取出一个运
算子
* ...
专题资料2021-2022年
Java
基本语法之一执行HelloWorldjsp并讲解 (1)(1).doc
算术赋值运
算子
、递增递减运
算子
、类型转换、流程控制(如if语句、switch、for循环、while循环、do-while循环)都是构建复杂逻辑不可或缺的部分。特别地,三元运
算子
是一个简洁的表达式,用于在一行代码内完成if-...
第1章程式语言与
Java
的基础(1).docx
Java
的运
算子
包括算术运
算子
、关系运
算子
、逻辑运
算子
等。 在
Java
中,程序的执行流程可以通过条件语句和循环语句进行控制。条件语句如if-else用于根据条件选择执行特定代码块。循环语句如while和do/while用于重复...
Java
常用词汇中英文对照
arrow operator是
Java
中的一种箭头运
算子
,用于简化代码实现。 assembly language(组合语言) assembly language是
Java
中的一种组合语言,用于编写低级代码。 assert(断言) assert是
Java
中的一种断言机制...
JAVA
编程常用英语总汇.doc
* Arrow Operator:箭头运
算子
、箭头操作符 * Assembly:装配件 * Assembly Language:组合语言、汇编语言 * Assign:指派、指定、设值、赋值 * Assignment:指派、指定、赋值、分配 * Assignment Operator:...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章