一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

初學Java的備忘錄

雖然以前間或的也看了些書籍,但多是隔靴搔癢,上不了正席,絕不敢說自己懂Java。接觸一門新的技術和初戀一樣,都是第一次,但不同的是后者一般開始無比甜蜜,結局卻很痛苦,而前者則往往開始很痛苦,越到后來卻越是有味,簡直是欲罷不能.現在我就正處于這個很痛苦的階段,連一個最簡單的Helloworld都運行不出來,總是提示Excepion in thread "main" Java.lan.NoClassDefFoundError. 只好上網去查,去搜.記性又不好,所以搜出來趕緊保存下來,常備無患。

  一般來說安裝完JDK之后,一定要按一下步驟配置,才可正確編譯運行(假定jdk版本為1.4.0)。

  1.將jdk1.4.0-安裝在自己機器的某個盤符的根目錄下,如:可安裝在C:/jdk下。

  ***(以下出現的c:/jdk改為你自己安裝JDK的目錄)***

  2.如果你的運行環境是win98,則在C盤根目錄下,autoexec.bat文件中,加入下面兩條語句:

  set Path=%PATH%;c:/jdk/bin
  set CLASSPATH=.;c:/jdk/lib/dt.jar;c:/jdk/lib/tools.jar保存后,重新啟動機器,就完成了jdk1.4的安裝。

  3.如果你的運行環境是win2000的話,則需在“控制面板”的“系統”下,“高級”選項的“環境變量”中,添加兩個用戶變量。

  其中一個用戶變量的名稱為“path”,值為“.;d:/j2sdk1.4.0_01/bin”,另一個用戶變量的名稱為"CLASSPATH",值為“.;d"/j2sdk1.4.0_01/lib/dt.jar;d:/j2sdk1.4.0_01/lib/tools.jar”,單擊“確定”即可。即完成了jdk1.4.0的安裝。

  至于這樣做的意義何在,我想應該是讓Java系統在編譯字節代碼(.Java)的時候需要一個什么東東的支持,如果你不告訴它這個東東放在哪個地方的話,它就犯傻了?!

  看到屏幕上終于顯示出Hello world對我來說意義重大.這是我近一年來寫的第一個程序!再次踏上程序之路,簡直有恍如隔世的感覺,已經快找不準我的位置了。還好原來學的一些關于C++和面向對象的皮毛沒忘光光,所以費點周折熟悉了JDK的環境之后,接下來的事情就好辦多了,心里也踏實多了。

  用String類直接定義字符串變量比起C中討厭的指針,感覺確實好的多,用慣了Object Pascal的我,如果再回去數* *,真要瘋掉不可。

  數組的定義和C,C++好像略有不同,記不清了,先記下來再說

  int[] number=new int[5]
  String[] message=new String[5]

  變量這一部分想起來要交待的也就這么多吧。雖然是菜鳥,但我也知道,總是如譚浩強般在語法上面死摳的人簡直是白癡:大多數情況下,漂亮的程序根本不需要無謂的點綴,工工整整,思路清晰就可以了。

  倒是對于Java程序的框架我倒想備忘一下,一個簡單的Java程序好像是應該是這樣的框架:

  class ProgramName
  {
  public static void main(String【】 args)
  {
  file&://程序的主體
  }

  public static int othermethod()
  {
  file&://其它方法
  }
  }

  整個程序在一個大的類中,這個類的概念應該就跟pascal里面的單元差不多的。同pascal一樣,文件名也要與單元名-在這里是類名-一樣.Java對大小寫要求的非常嚴格,我語法錯了好幾次都是因為這個.

  Java程序就是由一個或者多個或者很多個方法在這樣一個大類當中組成的.

  在如上的代碼中,定義方法的參數表示的意思分別為:

  public表示此成員函數是公有的,可以被其他類直接調用 static表示main成員函數在ProgramName類的所有對象中是唯一的,Java將為其分配永久存儲空間

  關于Static,我想再延伸一下。有時候我們創建一個類,希望這個類的所有實例都公用一個變量,也就是說,所有這個類的對象都只有實例變量的一個Copy.那么這樣一個靜態實例變量的內存就不能在創建類的實例的時候分配了,因為大家用的都是這么一個,不需要再重新分配.因此Java為其分配永久存儲空間。

  比如:

  class Block{
  static int number=50
  }

  這樣定義之后,所有Block類的實例,不管是Block1,還是Block2,它們都訪問同一個number.這個number叫做類的變量,而不是實例變量.實際上靜態變量又叫做類變量。

  繼續深入:用Static定義的靜態成員函數或者靜態變量,可以通過其所屬類名來直接調用.為什么可以這樣?因為既然這個類的所有對象都是使用的這一個變量,那么理所當然我不需要去從其中的任何一個對象去引用它,而只是通過類名引用就可以了嘛.這樣不是可以方便的實現一些全局函數和全局變量嗎?把所有全局的函數或者全局的變量都定義在一個靜態類中,調用的時候直接通過這一個類名就可以方便的訪問所有的全局變量和全局函數了。

  定義所有程序都要訪問的全局變量需要使用

  public final static

  另外碰到一個初學者經常會遇到的問題

  non-static variable mainframe cannot be referenced from a static context

  即在靜態方法中不能引用非靜態變量

  為什么?

  因為我們知道靜態的方法可以在沒有創建實例時使用,而申明為非靜態的成員變量是一個對象屬性,它只有在對象存在時引用,因此如果在對象未創建實例時我們在靜態方法中調用了非靜態成員方法自然是非法的,所以編譯器會在這種時候給各錯誤.

  簡單說來,靜態方法可以不用創建對象就調用,非靜態方法必須有了對象的實例才能調用.因此想在靜態方法中引用非靜態方法是不可能的,因為它究竟引用的是哪個對象的非靜態方法呢?編譯器不可能給出答案,因為沒有對象啊,所以要報錯.

  最后我們看看Think in Java里面的精辟闡述,這個問題我想就非常非常的清楚了

  static關鍵字

  通常,我們創建類時會指出那個類的對象的外觀與行為。除非用new創建那個類的一個對象,否則實際上并未得到任何東西。只有執行了new后,才會正式生成數據存儲空間,并可使用相應的方法。

  但在兩種特殊的情形下,上述方法并不堪用。一種情形是只想用一個存儲區域來保存一個特定的數據――無論要創建多少個對象,甚至根本不創建對象。另一種情形是我們需要一個特殊的方法,它沒有與這個類的任何對象關聯。也就是說,即使沒有創建對象,也需要一個能調用的方法。為滿足這兩方面的要求,可使用static(靜態)關鍵字。一旦將什么東西設為static,數據或方法就不會同那個類的任何對象實例聯系到一起。所以盡管從未創建那個類的一個對象,仍能調用一個static方法,或訪問一些static數據。而在這之前,對于非static數據和方法,我們必須創建一個對象,并用那個對象訪問數據或方法。這是由于非static數據和方法必須知道它們操作的具體對象。當然,在正式使用前,由于static方法不需要創建任何對象,所以它們不可簡單地調用其他那些成員,同時不引用一個已命名的對象,從而直接訪問非static成員或方法(因為非static成員和方法必須同一個特定的對象關聯到一起)。

  Whoops!現在應該回到主干上來了

  void 表示方法返回的值的類型為空。如果返回特定的類型的話,則該方法實際上就是函數,否則就是一個過程而已.

jsp技術初學Java的備忘錄,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 天天色综合图片 | 国产精品视频1区 | 精品久久久久久蜜臂a∨ | 91免费观看视频 | 伊人中文在线 | 免费精品美女久久久久久久久久 | 大臿蕉香蕉大视频成人 | 337p欧美| 青草社区在线 | 国产在线观看第一页 | 李雅在线观看一区国产 | 2021精品综合久久久久 | 黄网在线观看视频 | 日韩一区二三区无 | 亚洲国产99在线精品一区二区 | 国产精品久久久久久久专区 | 四虎影视国产永久免费 | 亚洲伦乱 | 狠狠做深爱婷婷久久一区 | 99九九精品免费视频观看 | 久久福利青草精品免费 | 欧美成人精品三级网站 | 米奇777超碰欧美日韩亚洲 | 精品国产一区二区三区在线观看 | 亚洲天码中文字幕第一页 | 久久综合狠狠综合久久 | 日韩欧美国产三级 | 四虎2019| 国产一级免费在线观看 | 一本色道久久88加勒比—综合 | 日本xxx在线观看免费播放 | 草草影院禁18在线观看 | 婷婷影院在线综合免费视频 | 成人激情站| 午夜视频一区二区三区 | 久久夜色精品国产飘飘 | 国产精品亚洲欧美日韩久久 | 国产精品大白天新婚身材 | 亚洲春色另类小说 | 色哟哟视频在线观看 | 四虎影视在线永久免费观看 |