[問題] 對java的一些疑問...
最近因為要接手弄一些java的東西, 所以開始看了java語言的前幾章
1. Java所有內建的型別都是物件?
(包含int / double / string / array 以及自訂的class產生的物件)
--> a. 如果不是, 那每個內建型別卻可以用Object類別表示, 十分不合理
而且也都固定支援ToString或是一些"方法", 這是物件才有的行為
所以個人認為
b. 如果是, 那繼續看問題2
2. java是call by value, 但書上說, 針對類別產生的物件, 是call by address
這讓我覺得這個語言缺乏一致性...
針對內建的型別(類別), 是call by value (copy), 而自訂的類別是call by address
當然這可以是"特例", 但就覺得缺乏美感... XD
3. java不支援operator overloading, 但string的"+", 卻又很特殊...
(相比C++, 其實我覺得有些不自然... XD)
4. java是否支援implicit casting? 為何System.out.println(3.0 - str1 + 3 + "5")
總是能優先轉成String?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.63.235
→
02/28 23:33, , 1F
02/28 23:33, 1F
推
02/28 23:43, , 2F
02/28 23:43, 2F
→
02/28 23:47, , 3F
02/28 23:47, 3F
→
03/01 00:33, , 4F
03/01 00:33, 4F
→
03/01 00:41, , 5F
03/01 00:41, 5F
→
03/01 01:20, , 6F
03/01 01:20, 6F
→
03/01 01:24, , 7F
03/01 01:24, 7F
→
03/01 01:36, , 8F
03/01 01:36, 8F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 12 篇):