Java Dream  
          日歷
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789
          統(tǒng)計(jì)
          • 隨筆 - 2
          • 文章 - 1
          • 評論 - 1
          • 引用 - 0

          導(dǎo)航

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

          2010年4月6日

          1.公共汽車定位系統(tǒng)

              每次上班前在站臺等公車都是個(gè)漫長的過程,尤其是雨雪天氣,公車公司好像存心和我作對一樣姍姍來遲,能不能有一個(gè)定位系統(tǒng)可以將公車的詳細(xì)位置發(fā)到手機(jī)上?聽說杭州某地已經(jīng)有站臺提供一個(gè)電子顯示屏將公車的詳細(xì)位置信息,以及到達(dá)本站的具體時(shí)間顯示出來,基于GPS技術(shù)。
             如果能通過手機(jī)實(shí)時(shí)查詢公車到達(dá)的時(shí)間,也就是說通過GPRS或者3G的技術(shù)與GPS技術(shù)結(jié)合,將你需要等待的公車號發(fā)送到查詢系統(tǒng),然后查詢系統(tǒng)通過GPS技術(shù)將公車的詳細(xì)位置定位發(fā)送給你,這樣你可以判斷公車是否堵車了或者是拋錨了,從而采取更靈活的交通方式到達(dá)目的地。


          2.寵物自動投食器

             一直想養(yǎng)一條小哈,可惜每天上班都是朝九晚五沒時(shí)間照顧它,公司也不像GOOGLE可以帶寵物上班,那么把小哈自己扔在家里有什么辦法讓它能自己玩耍與進(jìn)食呢?
              對,我需要一個(gè)自動投食器,我的設(shè)想是這樣的,通過自動投食器與手機(jī)或者PC機(jī)上的實(shí)時(shí)通訊軟件進(jìn)行通訊后,發(fā)送指令用自動投食器上的召喚喇叭能將狗狗叫過來,然后通過投食器上的攝像頭觀察寵物的狀態(tài),將儲存在投食器中的狗糧喂給狗狗吃。這里面有幾個(gè)技術(shù)難點(diǎn):1.投食器自動化喂食物;2.通訊軟件與透視器的通訊應(yīng)該基于什么技術(shù)呢?

          posted @ 2010-04-06 21:36 PoeLeon 閱讀(158) | 評論 (1)編輯 收藏

          2010年3月23日

            我們說構(gòu)造器是一種方法,就象講澳大利亞的鴨嘴獸是一種哺育動物。(按:老外喜歡打比喻,我也就照著翻譯)。要理解鴨嘴獸,那么先必須理解它和其他哺育動物的區(qū)別。同樣地,要理解構(gòu)造器,那么就要了解構(gòu)造器和方法的區(qū)別。所有學(xué)習(xí)java的人,尤其是對那些要認(rèn)證考試的,理解構(gòu)造器是非常重要的。下面將簡單介紹一下 ,最后用一個(gè)表作了些簡單的總結(jié)。
           
          功能和作用的不同

            構(gòu)造器是為了創(chuàng)建一個(gè)類的實(shí)例。這個(gè)過程也可以在創(chuàng)建一個(gè)對象的時(shí)候用到:Platypus p1 = new Platypus();
            
            相反,方法的作用是為了執(zhí)行java代碼。
            
            修飾符,返回值和命名的不同
            構(gòu)造器和方法在下面三個(gè)方便的區(qū)別:修飾符,返回值,命名。和方法一樣,構(gòu)造器可以有任何訪問的修飾: public, protected, private或者沒有修飾(通常被package 和 friendly調(diào)用). 不同于方法的是,構(gòu)造器不能有以下非訪問性質(zhì)的修飾: abstract, final, native, static, 或者 synchronized。
            
            返回類型也是非常重要的。方法能返回任何類型的值或者無返回值(void),構(gòu)造器沒有返回值,也不需要void。
            
            最后,談?wù)剝烧叩拿?。?gòu)造器使用和類相同的名字,而方法則不同。按照習(xí)慣,方法通常用小寫字母開始,而構(gòu)造器通常用大寫字母開始。構(gòu)造器通常是一個(gè)名詞,因?yàn)樗皖惷嗤?;而方法通常更接近動詞,因?yàn)樗f明一個(gè)操作。
            
            "this"的用法
            構(gòu)造器和方法使用關(guān)鍵字this有很大的區(qū)別。方法引用this指向正在執(zhí)行方法的類的實(shí)例。靜態(tài)方法不能使用this關(guān)鍵字,因?yàn)殪o態(tài)方法不屬于類的實(shí)例,所以this也就沒有什么東西去指向。構(gòu)造器的this指向同一個(gè)類中,不同參數(shù)列表的另外一個(gè)構(gòu)造器,我們看看下面的代碼:
            
            public class Platypus {
            
            String name;
            
            Platypus(String input) {
            name = input;
            }
            
            Platypus() {
            this("John/Mary Doe");
            }
            
            public static void main(String args[]) {
            Platypus p1 = new Platypus("digger");
            Platypus p2 = new Platypus();
            }
            }
            
            在上面的代碼中,有2個(gè)不同參數(shù)列表的構(gòu)造器。第一個(gè)構(gòu)造器,給類的成員name賦值,第二個(gè)構(gòu)造器,調(diào)用第一個(gè)構(gòu)造器,給成員變量name一個(gè)初始值 "John/Mary Doe".
            
            在構(gòu)造器中,如果要使用關(guān)鍵字this,那么,必須放在第一行,如果不這樣,將導(dǎo)致一個(gè)編譯錯(cuò)誤。

          "super"的用法

          構(gòu)造器和方法,都用關(guān)鍵字super指向超類,但是用的方法不一樣。方法用這個(gè)關(guān)鍵字去執(zhí)行被重載的超類中的方法??聪旅娴睦樱?
            
            class Mammal {
            void getBirthInfo() {
            System.out.println("born alive.");
            }
            }
            
            class Platypus extends Mammal {
            void getBirthInfo() {
            System.out.println("hatch from eggs");
            System.out.print("a mammal normally is ");
            super.getBirthInfo();
            }
            }
            
            在上面的例子中,使用super.getBirthInfo()去調(diào)用超類Mammal中被重載的方法。
            
            構(gòu)造器使用super去調(diào)用超類中的構(gòu)造器。而且這行代碼必須放在第一行,否則編譯將出錯(cuò)??聪旅娴睦樱?
            
            public class SuperClassDemo {
            SuperClassDemo() {}
            }
            
            class Child extends SuperClassDemo {
            Child() {
            super();
            }
            }
            
            在上面這個(gè)沒有什么實(shí)際意義的例子中,構(gòu)造器 Child()包含了 super,它的作用就是將超類中的構(gòu)造器SuperClassDemo實(shí)例化,并加到 Child類中。
            
            編譯器自動加入代碼
            編譯器自動加入代碼到構(gòu)造器,對于這個(gè),java程序員新手可能比較混淆。當(dāng)我們寫一個(gè)沒有構(gòu)造器的類,編譯的時(shí)候,編譯器會自動加上一個(gè)不帶參數(shù)的構(gòu)造器,例如:public class Example {}
            編譯后將如下代碼:
            
            public class Example {
            Example() {}
            }
            
            在構(gòu)造器的第一行,沒有使用super,那么編譯器也會自動加上,例如:
            
            public class TestConstructors {
            TestConstructors() {}
            }
            
            編譯器會加上代碼,如下:
            
            public class TestConstructors {
            TestConstructors() {
            super;
            }
            }
            
            仔細(xì)想一下,就知道下面的代碼
            
            public class Example {}
            
            經(jīng)過會被編譯器加代碼形如:
            
            public class Example {
            Example() {
            super;
            }
            }
            
          繼承
            構(gòu)造器是不能被繼承的。子類可以繼承超類的任何方法。看看下面的代碼:
            
            public class Example {
            public void sayHi {
            system.out.println("Hi");
            }
            
            Example() {}
            }
            
            public class SubClass extends Example {
            }
            
            類 SubClass 自動繼承了父類中的sayHi方法,但是,父類中的構(gòu)造器 Example()卻不能被繼承。


          總結(jié)

          subject construct methods
          function creat a instance of class functional sentence
          modify can't use abstract,final,native,static or synchronized use all the modified symbols
          void type no void value,no void include void
          name  same with the class name,and begin with capital  whatever, begin with lowercase
          this varible refer to the another construct within a class refer to the instance of a class,can't be use in the static methods
          extends can't be extended can be extended
          the compiler automatic added  support (if not ) not support
          posted @ 2010-03-23 16:44 PoeLeon| 編輯 收藏
           
          Copyright © PoeLeon Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 景德镇市| 邓州市| 建水县| 清水县| 贺州市| 青海省| 沙雅县| 北安市| 紫金县| 亚东县| 台江县| 泽库县| 岚皋县| 丹巴县| 安龙县| 长垣县| 电白县| 吉水县| 淳安县| 四川省| 巴林右旗| 新平| 凤庆县| 连江县| 江孜县| 寿宁县| 科技| 临沭县| 嘉黎县| 罗源县| 米泉市| 舟山市| 昭苏县| 营口市| 聊城市| 获嘉县| 曲靖市| 沙坪坝区| 临夏县| 商洛市| 武定县|