BloveSaga

          在希臘帕爾納斯山南坡上,有一個馳名世界的戴爾波伊神托所,在它的入口處的巨石上赫然銹刻著這樣幾個大字: 認識你自己!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            34 隨筆 :: 12 文章 :: 122 評論 :: 0 Trackbacks

          #

          ?? 理解繼承是理解面向對象程序設計的關鍵.在Java中,通過關鍵字extends繼承一個已有的類,被繼承的類稱為父類(超類,基類),新的類稱為子類(派生類).在Java中不允許多繼承.code:
          class Animal
          {
          ?int height,weight;
          ?void eat()
          ?{
          ??System.out.println("Animal eat!");
          ?}
          ?void sleep()
          ?{
          ??System.out.println("Animal sleep!");
          ?}
          ?void breathe()
          ?{
          ??System.out.println("Animal breathe!");
          ?}
          }
          class Fish extends Animal
          {
          ?
          }
          class DoMain
          {
          ?public static void main(String[] args)
          ?{
          ??Animal an=new Animal();
          ??Fish fn=new Fish();
          ??
          ??an.breathe();
          ??fn.breathe();
          ??fn.height=30;
          ??fn.weight=20;
          ?}
          }
          Result:
          F:\Java Develop>javac Animal.java

          F:\Java Develop>java DoMain
          Animal breathe!
          Animal breathe!
          (這說明派生類繼承了父類的所有方法和成員變量.)

          方法的覆蓋(override)
          在子類中定義一個與父類同名,返回類型,參數類型均相同的一個方法,稱為方法的覆蓋,方法的覆蓋發生在子類與父類之間.
          code:
          class Animal
          {
          ?int height,weight;
          ?void eat()
          ?{
          ??System.out.println("Animal eat!");
          ?}
          ?void sleep()
          ?{
          ??System.out.println("Animal sleep!");
          ?}
          ?void breathe()
          ?{
          ??System.out.println("Animal breathe!");
          ?}
          }
          class Fish extends Animal
          {
          ?int weight,height;?? //隱藏了父類的weight,height;
          ?void breathe()? //override method breathe()
          ?{
          ??super.breathe();? //用super調用父類的構造方法
          ??System.out.println("Fish bubble");
          ?}
          }
          class DoMain
          {
          ?public static void main(String[] args)
          ?{
          ?//?Animal an=new Animal();
          ??Fish fn=new Fish();
          ??
          ??an.breathe();
          ??fn.breathe();
          ??fn.height=30;
          ??fn.weight=20;
          ?}
          }
          輸出結果:
          F:\Java Develop>javac Animal.java

          F:\Java Develop>java DoMain
          Animal breathe!
          Fish bubble

          特殊變量super
          * 使用特殊變量super提供對父類的訪問
          * 可以使用super訪問父類被子類隱藏的變量或覆蓋的方法
          * 每個子類構造方法的第一條語句都是隱含的調用super,如果父類沒有這種形式的構造函數就會報錯.
          code:
          class Animal
          {
          ?int height,weight;
          ?Animal()
          ?{
          ??System.out.println("Animal construct");
          ?}
          ?void eat()
          ?{
          ??System.out.println("Animal eat!");
          ?}
          ?void sleep()
          ?{
          ??System.out.println("Animal sleep!");
          ?}
          ?void breathe()
          ?{
          ??System.out.println("Animal breathe!");
          ?}
          }

          class Fish extends Animal
          {
          ?Fish()
          ?{
          ??System.out.println("Fish construct");
          ?}
          ?void breathe()? //override method breathe()
          ?{
          ??System.out.println("Fish bubble");
          ?}
          }
          class DoMain
          {
          ?public static void main(String[] args)
          ?{
          ??//Animal an=new Animal();
          ??Fish fn=new Fish();
          ??
          ??//an.breathe();
          ??//fn.breathe();
          ??//fn.height=30;
          ??//fn.weight=20;
          ?}
          }
          輸出結果:
          F:\Java Develop>javac Animal.java

          F:\Java Develop>java DoMain
          Animal construct
          Fish construct

          posted @ 2006-06-04 11:18 藍色Saga 閱讀(247) | 評論 (0)編輯 收藏

          ? 蘇東坡和佛印和尚是好朋友,但二人喜歡言語相諷,各不相讓,經常是蘇東坡占下風.
          ??有一次,蘇東破問佛印說:
          ??"你看我像什么?"
          ??"我看你像尊佛."佛印說.
          ??蘇東破暗喜,隨即就問佛印:
          ??"那你可知道我看你像什么呢?"
          ??"像什么?"
          ??"像一堆屎!"
          ??佛印語塞.蘇東坡哈哈大笑.
          ??回家后,蘇東坡面帶笑容哼哼嘰嘰.
          ??蘇小妹見狀問道:
          ??"哥哥,什么事情這么高興呀?"
          ??"哼,佛印這次總算載我手里了!"蘇東坡得意的說.
          ??問明原委,蘇小妹大叫道:
          ??"哥哥,這次你輸得更慘了!"
          ??"為什么?"蘇東坡急忙問.
          ??蘇小妹說:
          ??"因為心中有什么,外在才看到什么.心中有佛,看別人才是佛;心中有屎,看別人就是屎!"
          posted @ 2006-06-04 10:54 藍色Saga 閱讀(173) | 評論 (0)編輯 收藏

          ?? E=MC^2,這是偉大的愛因斯坦著名的質能公式:能量等于質量乘以速度的平方。
          ? 人與人在質量,能力(智商)上的差別是很小的,也就是說“M”基本上是個常數。因此,人能發出的能量(success),就取決于其速度(C^2)。

          ?? 時間就是勝利。

          ??? 競賽以快取勝,搏擊以快打慢,軍事先下手為強,商戰從"大魚吃小魚"到"快魚吃慢魚"。跆拳道要求心快,眼快,手快;中華武學一言以蔽之,百法有百解,唯快無解!
          ??? 大而慢等于弱,小而快可變強,大而快王中王!快就是機會,快就是效率,快就是瞬間的"大",無數的瞬間構成長久的"強"。
          ??? 競爭的實質,就是在最快的時間內做最好的東西。人生最大的成功,就在于在最短的時間里達到最多的目標。質量是"常量",經過努力都可以做好以至于難分伯仲;而時間,永遠是"變量”:一流的質量可以有很多,而最快的冠軍只有一個-任何領先,都是時間的領先!

          ? 我們慢,不是因為我們不快,而是因為對手更快。
          ? 盛田昭夫說:
          ? "如果你每天落后人家半步,一年后就是一百八是三步,十年后即為十萬八千里。"

          ?? 在非洲的大草原上,一天早晨,曙光剛剛劃破夜空,一只羚羊從睡夢中猛然驚醒。
          ? "趕快跑!" 它想到,“如果慢了,就可能被獅子吃掉!“
          ?? 于是,起身就跑,向著太陽的方向飛奔而去。
          ?? 就在羚羊醒來的同時,一只獅子也醒了。
          ? ”趕快跑“,獅子也想到,”如果慢了,就可能被餓死!“
          ?? 于是,起身就跑,也向著太陽的方向飛奔而去。

          ?? 誰快就誰贏,誰快就誰生存。一個是自然界獸中之王,一個是事草的羚羊,等級差異,實力懸殊,但生存卻面臨同一個問題-如果羚羊快,獅子就餓死;如果獅子快,羚羊被吃掉。
          ? 貝爾在研究電話時,另一個叫格雷的人也在研究。兩人同時取得突破。但貝爾在專利局贏了-比格雷早了兩個鐘頭。當然,他們兩人當時是不知道對方的,但貝爾就因為這120分鐘而一舉成名,譽滿天下,同時也獲得了巨大的財富。

          ? 誰快誰贏得機會,誰快誰贏的財富。
          ? 全世界的目光只會聚焦在第一名的身上。冠軍才是真正的成功者。第一名后面,都是輸家。
          ? 時間的"量"不變,但"質"卻不同。關鍵時刻一秒值萬金。
          posted @ 2006-06-04 10:53 藍色Saga 閱讀(308) | 評論 (0)編輯 收藏

          ??? 從今天開始從零學習JAVA,希望可以認識到更多的朋友,可以讓自己的JAVA之路走得更為順利一些!買了幾本書來看也聽了幾接課,覺得JAVA很吸引我,我想我可以走得更遠的.自信是最重要的.
          ??? OOP(Object Oriented Programming)描述的是對象與對象之間的相互作用.聽老師將面向過程與面向對象的最大區別是: 過程化程序設計先確定算法,再確定數據結構,再確定運算.面向過程編程,習慣于先建立數據結構存放數據并定義方法(函數)來操作數據;而面向對象的則是構建一個模型,將數據與方法組織在一起.
          ??? 我們可以把現實世界的事物抽象為對象.對象一般都有兩個特征:狀態(Status),行為(Behavior).軟件的對象概念是由顯示世界對象抽象而來.把現實世界的狀態保存軟件對象的變量中;現實世界對象的行為通過軟件對象的方法(函數)來實現.
          ??? 我們把相似的對象劃分成一個類.在軟件中類就是一個模板,它定義了通用于一個特定種類的所有對象的狀態(變量)和行為(方法).類是創建對象的模板,對象是類的實例.
          ????面向對象編程的難點在于思路的轉變.我們通常習慣與考慮解決問題的方法,而不是抽象成對象再去解決它.
          ?類的構造方法
          * 構造方法的名字和類名相同,并且沒有返回值.
          *?構造方法主要用于定義類的初始化狀態.
          *?我們不能直接調用構造方法,必須通過new關鍵字來自動調用,從而創建類的實例.
          * Java的類都要求有構造方法,如果沒有定義構造方法,Java編譯器會提供一個缺省的構造方法,也就是不參數的構造方法.
          方法的重載(overload)
          ?重載
          構成的條件:方法的名稱相同,但參數類型或參數個數不同,才能構成方法的重載.
          code:
          class Point
          {
          ?int x,y;
          ?/*
          ? *帶參數的構造方法和不帶參數的構造方法就構成了方法(函數)的重載
          ?*/
          ?Point(int a,int b)
          ?{
          ??x=a;
          ??y=b;
          ?}
          ?Point()
          ?{
          ??
          ?}
          ?void output()
          ?{
          ??System.out.println(x);
          ??System.out.println(y);
          ?}
          ?public static void main(String[] args)
          ?{
          ??//調用不帶參數的構造方法
          ??//Point p=new Point();
          ??//pt.x=10;
          ??//pt.y=20;
          ??//p.output();
          ??Point p1=new Point(3,3); //調用帶參數的構造方法
          ??p1.output();
          ?}
          }
          特殊變量this
          * this變量代表對象本身
          * 當類中有兩個同名變量,一個屬于類(類的成員變量),一個屬于某個特定的方法(方法中的局部變量),使用this區分成員變量和局部變量.
          * 使用this簡化構造函數的調用
          code:
          class Point
          {
          ?int x,y;
          ?/*
          ? *帶參數的構造方法和不帶參數的構造方法就構成了方法(函數)的重載
          ?*/
          ?Point(int a,int b)
          ?{
          ??x=a;
          ??y=b;
          ?}
          ?Point()
          ?{
          ??this(1,1);
          ?}
          ?void output()
          ?{
          ??System.out.println(x);
          ??System.out.println(y);
          ?}
          ?/*output()方法定義的形參與成員變量同名了,
          ?*那么在output()里就看不到成員變量的x,y了,它被隱藏了.
          ?*/
          ?void output(int x, int y)
          ?{
          ??this.x=x;
          ??this.y=y;
          ?}
          ?public static void main(String[] args)
          ?{
          ??Point pt=new Point(3,3);
          ??pt.output(5,5);
          ??pt.output();
          ?}
          }
          一個類所有的實例(對象)調用的成員方法在內存中只有一份拷貝,盡管在內存中可能有多個對象,而數據成員在內的沒個對象中都存在著一份拷貝.this變量允許相同的實例方法為不同的對象工作.每當調用一個實例方法時,this變量被設置成引用該實例方法的特定的類的對象.方法的代碼接著會與this所代表的對象的特定數據建立關聯.
          posted @ 2006-06-04 10:51 藍色Saga 閱讀(142) | 評論 (0)編輯 收藏

          僅列出標題
          共7頁: 上一頁 1 2 3 4 5 6 7 
          主站蜘蛛池模板: 尖扎县| 甘德县| 安宁市| 合肥市| 衡阳县| 吉林省| 平陆县| 马关县| 佛坪县| 饶阳县| 鄂伦春自治旗| 盐山县| 宣化县| 额尔古纳市| 德州市| 天台县| 兴和县| 巴彦淖尔市| 车险| 青铜峡市| 镇原县| 金川县| 安陆市| 乌拉特中旗| 武强县| 五华县| 临城县| 崇左市| 容城县| 台州市| 黎川县| 米林县| 侯马市| 绥棱县| 石阡县| 思南县| 北海市| 盐边县| 比如县| 雅安市| 宾阳县|