java 板


LINE

※ 引述《WPC001 (突然觉得自己是孤独的...)》之铭言: 虽然有两篇回文了,我也写一点我觉得需要补充的 :) : 最近因为要接手弄一些java的东西, 所以开始看了java语言的前几章 : 1. Java所有内建的型别都是物件? : (包含int / double / string / array 以及自订的class产生的物件) 入门书都会提到,java 中的 variable 分两种: primitive type 和 reference type. int/double 并不是物件。 : --> a. 如果不是, 那每个内建型别却可以用Object类别表示, 十分不合理 : 而且也都固定支援ToString或是一些"方法", 这是物件才有的行为 : 所以个人认为 JDK5 开始, primitive type "好像" 可以用到一些 "方法", 全因 JDK5 引入的 auto-boxing/unboxing 功能。 : b. 如果是, 那继续看问题2 : 2. java是call by value, 但书上说, 针对类别产生的物件, 是call by address : 这让我觉得这个语言缺乏一致性... : 针对内建的型别(类别), 是call by value (copy), 而自订的类别是call by address : 当然这可以是"特例", 但就觉得缺乏美感... XD 通通都是 pass-by-value, 这个毋庸置疑。 : 3. java不支援operator overloading, 但string的"+", 却又很特殊... : (相比C++, 其实我觉得有些不自然... XD) 这个好像没有人说清楚。 Java 不是不支援operator overloading, 只是 不支援 "自订operator overloading". String 的 + 和 += 就是暂时有的唯二 operator overloading (记得好像说 JDK7 还会再加 BigDecimal/BigInteger 的 operator overloading?) : 4. java是否支援implicit casting? 为何System.out.println(3.0 - str1 + 3 + "5") : 总是能优先转成String? 你懂 C++ 吗? 这样就好办. 首先你这个应该不行,3.0 -str1 应该就挂了. 改回 3.0 + str + 3 + "5" 吧。 它能 "转成" String 并不是 implicit casting. 你可以想成是因为有下面的 operator overloading 而已: (C++ 形式写出来) String operator(String s, double d) { return s + Double.toString(d); } String operator+(double d, String s) { return Double.toString(d) + s; } String operator+(String s, int i) { return s + Integer.toString(i); } String operator+(String s, Object o) { return s + o.toString(); } 诸如此类。当然 Java 没得让你 自订 operator overload, 上面的这堆东西也只是概念上存在而已。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.250.0.44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP