精華區beta java 關於我們 聯絡資訊
最近買了一本很暢銷的SCJP來加強自己 第一章講到識別字命名規則時, 原以為自己早清楚了, 看到說開頭可以用 $ 符號時, 我愣了一下 @@... 因為nested class編譯出來後不是就是用 $ 做分隔嗎? 那怎麼還允許命名時可以使用 $ 符號 於是我就寫了程式 class J { class $ { // J$_"$" => J$$ class $$ { // J$_"$"_$_"$$" => J$$$$$ } } class $$$ { // J$_"$$$" => J$$$$ } } 嗯...果然可以...沒問題.... 然後改一下 class JJ { class $ { // J$_"$" => J$$ class $$ { // J$_"$"_$_"$$" => J$$$$$ } } class $$$$ { // J$_"$$$$" => J$$$$$ } } 這可囧大了.... J.java:6: duplicate class: JJ.$$$$ class $$$$ { ^1 error 唉..... 沒試過還真不知道會這樣 命名規則好像訂的不太好啊 Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.166 > -------------------------------------------------------------------------- < 作者: jtmh (Believing is seeing! ^^) 看板: java 標題: Re: [問題] 有點意外的識別字命名 時間: Sat Sep 30 17:50:49 2006 ※ 引述《AI3767 (AI3767)》之銘言: : 最近買了一本很暢銷的SCJP來加強自己 : 第一章講到識別字命名規則時, : 原以為自己早清楚了, 看到說開頭可以用 $ 符號時, : 我愣了一下 @@... : 因為nested class編譯出來後不是就是用 $ 做分隔嗎? : 那怎麼還允許命名時可以使用 $ 符號 : 於是我就寫了程式 [恕刪] : 嗯...果然可以...沒問題.... : 然後改一下 : class JJ { : class $ { // J$_"$" => J$$ : class $$ { // J$_"$"_$_"$$" => J$$$$$ : } : } : class $$$$ { // J$_"$$$$" => J$$$$$ : } : } : 這可囧大了.... : J.java:6: duplicate class: JJ.$$$$ : class $$$$ { : ^1 error : 唉..... : 沒試過還真不知道會這樣 : 命名規則好像訂的不太好啊 Orz   可以用不代表你就應該要用,以下是 JLS 中的說明:   "... The $ character should be used only in mechanically generated    source code or, rarely, to access preexisting names on legacy systems."   http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.152.169