線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1786
推到 Plurk!
推到 Facebook!

final變數的小疑問

尚未結案
shiao
一般會員


發表:1
回覆:2
積分:0
註冊:2005-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-22 03:05:08 IP:220.136.xxx.xxx 未訂閱
public class a123{         public static void main(String[] args)  {                 int var =10;                 final int Final_var = 10;                    byte ShowVar =var;                // 這行會錯誤 因為int不能轉byte byte ShowVar = Final_var; // 請問 為啥final變數 就不會Error System.out.println(ShowVar); } }
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-22 08:09:32 IP:61.56.xxx.xxx 未訂閱
引言: byte ShowVar = Final_var; // 請問 為啥final變數 就不會Error
若係 Final_var=(int)ShowVar 就會有error矣 "final"即咧意思是啥咪?汝查過嘸? http://java.sun.com/docs/books/tutorial/java/nutsandbolts/finalVariables.html 參考看嘜咧
shiao
一般會員


發表:1
回覆:2
積分:0
註冊:2005-04-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-22 11:46:34 IP:220.136.xxx.xxx 未訂閱
報告大哥 你給窩的網址 窩去看過了 可是沒看到窩要的答案QQ 他只說 final變數 於設定初值後 就不能在去改變 不然會compiler error    我是想問 Final_var的型態不是int嗎... 為啥可以用byte的型態去接收?  final int Final_var = 10; byte ShowVar = Final_var;
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-22 13:27:06 IP:61.64.xxx.xxx 未訂閱
引言: byte ShowVar =var; // 這行會錯誤 因為int不能轉byte byte ShowVar = Final_var; // 請問 為啥final變數 就不會Error
你有看過是什麼錯誤訊息嗎? 因為....歹勢,你的ShowVar重覆宣告了 發表人 - neoart 於 2005/04/22 13:29:39
shiao
一般會員


發表:1
回覆:2
積分:0
註冊:2005-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-22 22:02:48 IP:220.137.xxx.xxx 未訂閱
引言: 你有看過是什麼錯誤訊息嗎? 因為....歹勢,你的ShowVar重覆宣告了 發表人 - neoart 於 2005/04/22 13:29:39
我知道 ShowVar重覆宣告了 所以窩後面才註解 那行會ERROR 我把那行拿掉 程式如下 ======================================================== public class a123{ public static void main(String[] args) { final int Final_var = 10; byte ShowVar = Final_var; System.out.println(ShowVar); } } ======================================================== 想問 Final_var的型態不是int嗎... 為啥可以用byte的型態去接收? final int Final_var = 10; byte ShowVar = Final_var;
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-23 00:51:03 IP:61.56.xxx.xxx 未訂閱
final 變數.如果是很單純的string或是int之屬的物件.就是在compile階段直接展開到你的程式碼中(很類似C的 typedef) 所以在class檔中,你的
  final int Final_Value=10;
  byte ShowValue =Final_Value;
就是被直接置換成 byte ShowValue=10; 這當然是可以的事啊. 發表人 - neoart 於 2005/04/23 00:57:36
系統時間:2024-04-27 21:17:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!