java世界
          有些人注定要生活在彼岸,可以親近可以愛(ài)憐,甚至可以窮盡一生去思念,只是無(wú)法觸及有些距離,注定不能跨越只能倆倆相望,就像有些愛(ài)只能養(yǎng)在心里長(zhǎng)在眼中,不能捧在手里放在身邊,注定只能邂逅無(wú)法遭遇!
          posts - 12,comments - 15,trackbacks - 0
          1.關(guān)于在靜態(tài)方法中訪問(wèn)非靜態(tài)內(nèi)部類的問(wèn)題
          public class Outer{
          public String name = "Outer";
          public static void main(String argv[]){
          //Inner myinner = new Inner(); //直接用這句話創(chuàng)建會(huì)編譯錯(cuò)誤
          Outer myouter=new Outer(); //先創(chuàng)建外部類的對(duì)象
          Outer.Inner myinner=myouter.new Inner();
          myinner.showName();
          }//End of main
          //下面這段代碼用來(lái)測(cè)試這種n煩的辦法
          public void amethod(){
          Outer myouter=new Outer();
          Outer.Inner myinner=myouter.new Inner();
          myinner.showName();
          }
          //非靜態(tài)方法訪問(wèn)非靜態(tài)內(nèi)部類
          private class Inner{
          String name =new String("Inner");
          void showName(){
          System.out.println(name);
          }
          }//End of Inner class
          }
          在非靜態(tài)方法訪問(wèn)非靜態(tài)內(nèi)部類直接創(chuàng)建該內(nèi)部類的對(duì)象:new Inner().showName();當(dāng)然也可以采取這種n煩的辦法假設(shè)private class Inner改成static private class Inner, 那么在靜態(tài)方法中訪問(wèn)靜態(tài)內(nèi)部類也是直接創(chuàng)建該內(nèi)部類的對(duì)象,即Inner myinner = new Inner(),或者Outer.Inner myinner = new Outer.Inner()也行得通,可見(jiàn)這種n煩的方法在上面三種情況下都是可以用的。
          2.Abstract方法不能用final,static修飾非abstract方法在abstract類中可以用final,static
          抽象類中的抽象方法不能是final,但是非抽象方法前加final可以編譯通過(guò)因?yàn)閍bstract和final相互排斥,前者專用于繼承,后者禁止繼承
          抽象類中的抽象方法不能為static
          非抽象方法可以為static
          包裹類Integer、 String 、Float、 Double等都是final類,不能被繼承!Integer i=new Integer(“6”);如果字符串不是數(shù)字,會(huì)產(chǎn)生運(yùn)行異常(不會(huì)出現(xiàn)編譯錯(cuò)誤)但是對(duì)于boolean,這個(gè)規(guī)則不適用。當(dāng)字符串時(shí)(大小寫(xiě)無(wú)關(guān)),Boolean對(duì)象代表的數(shù)值為true,其他字符串均為false如:
          Boolean b = new Boolean(“afiwou”); 代表false
          Boolean b = new Boolean(“tRue”); 是true
          3.多態(tài)性、虛擬方法調(diào)用
          public class Test8 {
          public static void main(String [] args){
          Base b = new Subclass();
          System.out.println(b.x);
          System.out.println(b.method());
          }
          }
          class Base{
          int x = 2;
          int method(){
          return x;
          }
          }
          class Subclass extends Base{
          int x = 3;
          int method(){
          return x;
          }
          }
          結(jié)果是2,3,而不是3,3
          Employee e = new Manager();
          e.department = " Finance " ;
          //department 是Manager的一個(gè)特殊屬性
          聲明變量e后,你能訪問(wèn)的對(duì)象部分只是Employee的部分;Manager的特殊部分是隱藏的。這是因?yàn)榫幾g器應(yīng)意識(shí)到,e 是一個(gè)Employee,而不是一個(gè)Manager。但重寫(xiě)的方法除外
          在你接收父類的一個(gè)引用時(shí),你可以通過(guò)使用instanceof運(yùn)算符判定該對(duì)象實(shí)際上是你所要的子類,并可以用類型轉(zhuǎn)換該引用的辦法來(lái)恢復(fù)對(duì)象的全部功能。為什么說(shuō)“恢復(fù)對(duì)象的全部功能”,就是因?yàn)樯弦桓袼枋龅模宇悓?duì)象賦給父類句柄后,該句柄不能訪問(wèn)子類的那些特殊屬性和方法,要用就要重新造型。這其實(shí)是多態(tài)參數(shù)的后續(xù)應(yīng)用,形成這樣一個(gè)鏈條:傳入多態(tài)參數(shù)??instanceof判斷類型??casting??恢復(fù)功能
          Employee e = new Manager();
          e.getDetails();
          在此例中,Manager 重寫(xiě)了Employee的getDetail()方法。被執(zhí)行的e.getDetails()方法來(lái)自對(duì)象的真實(shí)類型:Manager。事實(shí)上,執(zhí)行了與變量的運(yùn)行時(shí)類型(即,變量所引用的對(duì)象的類型)相關(guān)的行為,而不是與變量的編譯時(shí)類型相關(guān)的行為。這是面向?qū)ο笳Z(yǔ)言的一個(gè)重要特征。它也是多態(tài)性的一個(gè)特征,并通常被稱作虛擬方法調(diào)用??“動(dòng)態(tài)綁定”
          寫(xiě)了這么多也不知道對(duì)你有沒(méi)有幫助呢?

          FeedBack:
          # re: java筆記2
          2006-03-16 10:45 | lu
          很不錯(cuò)!希望你能繼續(xù)寫(xiě)更多的經(jīng)驗(yàn)!講的在具體一些讓我們這些剛起步的看的更清楚!例子寫(xiě)多點(diǎn)但是要簡(jiǎn)點(diǎn)些!  回復(fù)  更多評(píng)論
            
          # re: java筆記2
          2006-04-20 10:48 | island_hainan
          支持你.  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 崇义县| 泊头市| 上栗县| 松滋市| 瑞金市| 黎平县| 罗江县| 花莲市| 扎兰屯市| 朝阳县| 潍坊市| 田林县| 康定县| 甘南县| 西乌珠穆沁旗| 达州市| 独山县| 峨眉山市| 罗江县| 凤冈县| 文登市| 井冈山市| 舒城县| 平陆县| 手机| 临湘市| 北宁市| 贵定县| 江阴市| 刚察县| 焦作市| 河津市| 安阳市| 高陵县| 太谷县| 永修县| 商丘市| 罗定市| 龙胜| 怀柔区| 芮城县|