freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

java學習筆記-文庫吧資料

2024-08-17 18:28本頁面
  

【正文】 封裝類java為每一個簡單數(shù)據(jù)類型提供了一個封裝類,使每個簡單數(shù)據(jù)類型可以被Object來裝載。傳遞性:(y)為true, (z)也為true ,(z)一定也為true。String類覆蓋了equals()方法,他比較是對象中的內容是否相同。Object類中的boolean equals(Objecto)方法是用來比較對象的內容是否相等,其返回值是boolean類型的值,相同為真,不同則為假。Object類中的toString()方法他返回的是類名加上他的地址的一個字符串。java不允許循環(huán)繼承,也就是互相繼承是不可以的。(接口隔離原則)把一個類的功能作成接口,只暴露想暴露的方法,接口隔離原則可以實現(xiàn)更高層次的封裝,針對的對象不同,暴露的方法也不同。盡量使用接口類型作為編譯時類型,盡量將抽取到的共性行為寫在接口中。他調用接口中方法也就是掉用接口實現(xiàn)中的方法。接口的回調:先有接口的定義(接口實現(xiàn)者),再有接口使用者,最后把接口的實現(xiàn)對象傳入接口的使用者中,接口的使用者會通過接口來調用接口實現(xiàn)者的方法。3,接口進一步深化了標準的思想,接口本身就是一個標準,他起到了降低耦合性的作用,接口可以使方法的定義和實現(xiàn)相分離,也就是將接口的定義者和實現(xiàn)者相分離,接口也可以用于降低模塊間或系統(tǒng)間的耦合性。2,用接口可以實現(xiàn)混合類型(主類型,副類型),java中可以通過接口分出主次類型。接口沒有構造方法。如果沒有完全實現(xiàn)接口中的方法,那么這個類就只能夠是個抽象類,不能創(chuàng)建對象。采用接口就繞開了單繼承限制。要實現(xiàn)接口就必須實現(xiàn)接口中的所有方法。一個類可以繼承也只能繼承另外一個類,但是可以實現(xiàn)多個接口,其語法是在implements后面寫接口名,多個接口以“,”分隔。接口中的屬性可以不加修飾符,方法也不用加修飾符。接口中的方法必須都是公開的抽象方法(public abstract),接口中的屬性都是公開靜態(tài)常量(public static final)。模板中不允許修改的方法可以用fianl來修飾,這個方法不能使抽象方法,為保證安全,封裝,把模板中不公開的部分用protected(保護)修飾。方法一時間想不到怎么被實現(xiàn),或有意要子類去實現(xiàn)而定義某種標準,這個方法可以被定義為抽象。final和abstract,private和abstract,static和abstract,這些是不能放在一起的修飾符,因為abstract修飾的方法是必須在其子類中實現(xiàn)(覆蓋),才能以多態(tài)方式調用,以上修飾符在修飾方法時期子類都覆蓋不了這個方法,final是不可以覆蓋,private是不能夠繼承到子類,所以也就不能覆蓋,static是可以覆蓋的,但是在調用時會調用編譯時類型的方法,因為調用的是父類的方法,而父類的方法又是抽象的方法,又不能夠調用,所以上的修飾符不能放在一起。注意:父類是抽象類,其中有抽象方法,那么子類繼承父類,并把父類中的所有抽象方法都實現(xiàn)(覆蓋)了,子類才有創(chuàng)建對象的實例的能力,否則子類也必須是抽象類。abstract修飾方法就是要求其子類覆蓋(實現(xiàn))這個方法。但是抽象類中不一定都是抽象方法,也可以全是具體方法。需要子類繼承實現(xiàn)(覆蓋)。abstract(抽象)修飾符,可以修飾類和方法1,abstract修飾類,會使這個類成為一個抽象類,這個類將不能生成對象實例,但可以做為對象變量聲明的類型,也就是編譯時類型,抽象類就像當于一類的半成品,需要子類繼承并覆蓋其中的抽象方法。String類在字符串連接時會先的效率很低,就是因為它所產(chǎn)生的對象的書性是不能夠修改的,當連接字符串時也就是只能創(chuàng)建新的對象。不變模式在對于對象進行修改,添加操作是使相當麻煩的,他會產(chǎn)生很多的中間垃圾對象。如果是new在堆空間中創(chuàng)建String類的對象,則不會有上述的過程。在String類中,以字面值創(chuàng)建時,會到Java方法空間的串池空間中去查找,如果有就返回串池中字符串的地址,并把這個地址付給對象變量。不變模式的典型體現(xiàn):,不變模式可以實現(xiàn)對象的共享(可以用一個對象實例賦值給多個對象變量。不變模式:對象一旦創(chuàng)建屬性就不會改變。注意:final,不能用來修飾構造方法,在父類中如果有常量屬性,在子類中使用常量屬性時是不會進行父類的類加載。3,final修飾類,被final修飾的類將不能被繼承。final修飾符,可以修飾變量,方法,類1,final修飾變量被fianl修飾的變量就會變成常量(常量應當大寫),一旦賦值不能改變,(可以在初始化時直接賦值,也可以在構造方法里也可以賦值,只能在這兩種方法里二選一,不能不為常量賦值),fianl的常量不會有默認初始值,對于直接在初始化是賦值時final修飾符常和static修飾符一起使用。類在什么時候會被加載,構造(創(chuàng)建)對象時會加載類,調用類中靜態(tài)方法或訪問靜態(tài)屬性也是會加載這個靜態(tài)方法真正所在的類。動態(tài)初始代碼塊,寫在類體中的“{}”,這個代碼塊是在生成對象的初始化屬性是運行。3,static修飾初始代碼塊,這時這個初始代碼塊就叫做靜態(tài)初始代碼塊,這個代碼塊只在類加載時被執(zhí)行一次。java中的main方法必須寫成static是因為在類加載時無法創(chuàng)建對象,因為靜態(tài)方法可以不通過對象調用,所以在類的main方法所在類加載時就可以通過main方法入口來運行程序。注意:父類中是靜態(tài)方法,子類中不能覆蓋為非靜態(tài)方法,在符合覆蓋規(guī)則的前提下,在父子類中,父類中的靜態(tài)方法可以被子類中的靜態(tài)方法覆蓋,但是沒有多態(tài)。靜態(tài)方法要慎重使用。方法名 訪問。也就是類變量只會被創(chuàng)建一次。類變量,會在加載時自動初始化,初始化規(guī)則和實例變量相同。(共有的類變量與對象無關,只和類有關)。1,static修飾屬性(類變量),也就是使這個屬性成為本類的類變量,為本類對象所共有。也就是定義在父類中的方法,可以在子類中有不同的實現(xiàn)將其覆蓋,在為父類型的對象變量賦值相應需要功能的子類的對象實例。多態(tài)用于返回值,可以在方法的返回值類型上是用其實際返回值的父類型,在使用期返回值時也不比關心其實際類型。注意:盡量用組合復用替代繼承復用。兩種復用1,白箱復用,也就是繼承復用,父類中的可以被子類訪問到的就可以被繼承,這樣會有些不需要的內容被繼承下來,所以這種方式不太好。要注意區(qū)分子類中的方法重載。注意:類的屬性是沒有多態(tài)的,只會根據(jù)編譯時類型訪問。3,運行時會根據(jù)運行時類型去調用相應類型中定義的方法。在對象變量聲明時可以確定其運行時類型,但是編譯時類型對象變量背后所指向運行時類型則可以是其本類型或者是其子類型。多態(tài),編譯時多態(tài)(方法的重載)   運行時多態(tài)(多態(tài))編譯時類型,也就是可以被看作的類型,主觀認定。注意:在寫類的時候,一定要寫默認無參的構造方法,如果一個構造方法的第一句既不是this(),也不是super()時,那么就會在這里隱含的調用他的父類的無參的構造方法,即隱含的有super()。super關鍵字super(),表示在子類的構造方法中調用父類的構造方法(可以通過這種方法在子類的構造方法中初始化父類中的屬性),super()(),在子類的構造方中指明構造父類時調用哪一個父類的構造方法構造父類。注意:父子類中有同名的屬性不叫子類覆蓋父類的屬性,叫做屬性的遮蓋(shadow)。父類中的私有方法,不能被繼承到子類,就是說子類中即使將其覆蓋了也不會有多態(tài)。注意:,需要方法的返回值,參數(shù)表,方法名必須嚴格相同,子類的中覆蓋的方法的返回值可以是父類中被覆蓋的方法的返回值類型的子類型。父類的屬性及方法的確定要從子類的角度來看子類間的共性,當所有子類都有這個屬性時,就應當考慮是否該放在父類中,方法也是如此,方法可以被看作是對象的行為,而類的方法這時這一類對象所共有的行為,所以也應當在方法的確定時注意是不是所有的子類型中都需要有這種方法,并且會根據(jù)不同的類型的行為的方式也不同才可以覆蓋著個方法。繼承的意義在于子類可以在父類的基礎之上對父類的功能進行發(fā)展,繼承可以使系統(tǒng)的耦合性降低,也就是使對象間的聯(lián)系便的松散,使多類對象間的聯(lián)系用其父類對象代替。public修飾符,表示公開,在任何地方都可以訪問。default修飾符,方法不加修飾符,會默認為default,表示在同一個包中可以訪問,父子類在同一包中,子類可以繼承父類的相應內容。子類只能繼承在父類中可以訪問的屬性和方法(實際上父類中私有的屬性和方法也會被繼承但子類中無法訪問罷了)。java中的繼承要使用extends關鍵字,并且java中只允許單繼承,也就是一個類只能有一個父類。這個類就是多類事物的父類。完全的封裝,類的屬性全部私有化,并且提供一對方法來訪問屬性。方法公開的是方法的聲明(定義),即(只須知道參數(shù)和返回值就可以調用該方法),隱藏方法的實現(xiàn)會使實現(xiàn)的改變對架構的影響最小化。對于類中的私有屬性,要對其給出一對方法(getXxx(),setXxx())訪問私有屬性,保證對私有屬性的操作的安全性。(對象的屬性應當隱藏),一個對象的內部是透明的,就是把對象內部的可透明性和隱藏的特性區(qū)分開,該透明的透明,該隱藏的隱藏。java中的參數(shù)傳遞,簡單類型的變量傳遞的是數(shù)值,對象變量的傳遞則傳遞的一個引用(地址)面向對象的三大特征封裝、繼承、多態(tài)。例如 :Car c=new Car();有參的構造方法在被調用時,在用new關鍵字或的對象時初始化,例如:Car c=new Car(yellow)對象變量中存放的是對象的引用(地址的封裝形式)this關鍵字表示當前對象(哪個對象調用了方法,哪個對象就是當前對象),可以用來區(qū)分實例變量和局部變量。注意:最好在寫類時提供一個無參的構造方法。創(chuàng)建對象的過程:1,分配空間 2,初始化屬性 3,調用構造方法(有前提,不考慮繼承關系)構造方法的寫法:沒有返回值類型,構造方法的方法命名必須和類名相同。(類型就近向上轉化匹配)注意:調用時要給出明確參數(shù)并確定調用某一方法,否則編譯會出錯。在編譯時,編譯器會根據(jù)參數(shù)選擇適當?shù)姆椒?,所以重載也叫編譯時多態(tài)。JVM+解釋器=JRE,JRE+類庫=JDKjava中方法的重載(overload)方法名相同,參數(shù)表不同,返回值類型可以不同。變量 包括簡單變量(原始數(shù)據(jù)類型),對象變量。注意:局部變量的作用范圍是在定義他的代碼塊以內,局部變量要先賦值后使用,在以一個重合的作用于范圍內不允許兩個局部變量命名沖突。類是一個類對象的模板,對象是類的具體化。(對象的耦合性弱,復用性就比較強)面向過程是先有算法,后又數(shù)據(jù)結構(怎么解決問題)面向對象是先有對象(數(shù)據(jù)結構),后有算法。對象的可替換性,是在系統(tǒng)中替換原有的對象之后的系統(tǒng)的穩(wěn)定性。對象的耦合性要盡量的弱,也就是對象之間的聯(lián)系盡可能的弱,對象和系統(tǒng)之間的聯(lián)系盡可能的弱。對象有其固有屬性,對象的方法,即對象的行為(對象能做什么)對象本身是簡單的(功能簡單),多個對象可以組成復雜的系統(tǒng)(對象之間彼此調用對方的方法)對象應當是各司其職(功能簡單),各盡所能(把自己的功能作到最好)。Java中的方法調用中參數(shù)傳遞有兩種,一個是對于參數(shù)是基本類型的使用的是值傳遞(直接傳參數(shù)的值),另一個是引用傳遞,它是用于參數(shù)是類的對象,它傳遞的是這個對象的引用。局部變量需要初始化,必須賦初值。注意:在類的定義中屬性的定義和方法的定義 必須寫在類里。定義在類中類的屬性是實例變量,定義在類的方法中的變量是局部變量。注意:只有一個沒有被任何 對象的引用 所引用 的對象的實例才會邊城垃圾等待被垃圾回收。多個對象的引用可以同時引用自同一個對象的實例,但是對象的引用只能引用一個對象的實例。類的對象的創(chuàng)建和對象數(shù)組。初始化數(shù)組 1) 初始化、創(chuàng)建、和聲明分開 int[] i; i = new int[2]; i[0] = 0; i[1] = 1; 2) 初始化、創(chuàng)建、和聲明在同一時間 int[] i = {0,1}; Car[] c = {new Car(),new Car()}; 多維數(shù)組 1) 有效定義 int[][] i1 = new int[2][3]; (同時給定一維,二維的空間) int[][] i2 = new int[2][]; (給定一維的空間,二維空間待定) i2[0] = new int[2],i2[1] = new int[3]; *C++中 int[][] =new int[][3];有效 2) 無效定義 int[][] i1 = new int[][3]; 3) 數(shù)組長度 數(shù)組的屬性length(在二維數(shù)組中這個屬性只代表第一維的長度) int[] i = new int[5]; int len = ;//len = 5; Student[][] st = new Student[4][6]; len = ;//len = 4; len = st[0].length;//len = 6; 數(shù)組拷貝(Object src, int srcPos, Object dest, int destPos, int length);src源數(shù)組,srcPos從第幾位開始拷貝,dest目標數(shù)組,destPos目標數(shù)組放置的起始位置,length,表示要拷貝的長度。聲明數(shù)組 1) 一組相同類型(可以是類)數(shù)據(jù)的集合; 2) 一個數(shù)組是一個對象; 3) 聲明一個數(shù)組沒有創(chuàng)建一個對象;
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1