日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java基础学习笔记(二)

發(fā)布時(shí)間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础学习笔记(二) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

1、數(shù)組排序之選擇法排序和冒泡排序?

選擇法排序原理:數(shù)組第一位和后續(xù)位置數(shù)值比較,最大或最小的調(diào)換位置后放在第一位;依次比較將第二大或小的值調(diào)換位置后放在第二位置;代碼如下:

for (int j = 0; j < a.length-1; j++) {for (int i = j+1; i < a.length; i++) {if(a[i]<a[j]){ int temp = a[j];a[j] = a[i];a[i] = temp;}}}

冒泡法排序原理:數(shù)組相鄰兩個(gè)arr[i] 和arr[i+1]進(jìn)行比較后將最大或最小的放在最后,循環(huán)比較后,最后一位是最大或最小的數(shù)值。代碼如下

for (int j = 0; j < a.length; j++) {for (int i = 0; i < a.length-j-1; i++) {if(a[i]>a[i+1]){ int temp = a[i+1];a[i+1] = a[i];a[i] = temp;}}}

?

2、二維數(shù)組的分配空間及賦值:?int[][] b=new int[2][3];表示該二維數(shù)組是有兩個(gè)長(zhǎng)度為3的一維數(shù)組組成,未初始化;int[][] b=new int[][]{ {1,2,3},{2,3,4} }

?

3、數(shù)組操作:Arrays是針對(duì)數(shù)組的工具類(lèi),可以進(jìn)行 排序,查找,復(fù)制填充等功能。 大大提高了開(kāi)發(fā)人員的工作效率。

數(shù)組復(fù)制方法:使用system.arrayCopy 方法,如System.arraycopy(src, srcPos, dest, destPos, length)將源數(shù)組數(shù)據(jù)復(fù)制到目標(biāo)數(shù)組;使用Arrays.copyOfRange((src, srcPos, dest, destPos, )的返回值就是復(fù)制獲取的數(shù)組;具體數(shù)組方法操作見(jiàn) http://how2j.cn/k/array/array-arrays/516.html

?

4、引用:聲明一個(gè)非基本類(lèi)型的變量后,那么這個(gè)變量叫做引用。如使用new Hero()創(chuàng)建一個(gè)對(duì)象后怎么訪問(wèn)這個(gè)對(duì)象,就需要通過(guò)“=”等于號(hào)將引用指向該對(duì)象,如Hero h1=new Hero(); 引用前的Hero表示這個(gè)變量h1是Hero類(lèi)型的。

?

5、多個(gè)引用可以指向的是一個(gè)對(duì)象,一個(gè)引用同時(shí)只能指向一個(gè)對(duì)象如 Hero garen=new Hero(); 和garen=new Hero(); 會(huì)沖突。注意:每次實(shí)例化一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)分配一塊內(nèi)存地址給這個(gè)對(duì)象,而系統(tǒng)默認(rèn)是根據(jù)內(nèi)存地址來(lái)檢測(cè)是否是同一個(gè)對(duì)象,所以就算是同一個(gè)類(lèi)里實(shí)例化出來(lái)的對(duì)象它們也不會(huì)相等。如:

Hero h1=new Hero();Hero h2=new Hero();System.out.println(h1.equals(h2)); //false,因?yàn)閷?shí)例化的對(duì)象分配在不同的內(nèi)存地址

?

6、Java類(lèi)使用extend關(guān)鍵詞實(shí)現(xiàn)繼承類(lèi)方法的重載指的是方法名一樣,但是參數(shù)類(lèi)型不一樣重載方法過(guò)多時(shí)可以使用可變數(shù)量的參數(shù),如public void attack(Hero?...heros)在方法里,使用操作數(shù)組的方式處理參數(shù)heros即可

public class ADHero extends Hero {public void attack() {System.out.println(name + " 進(jìn)行了一次攻擊 ,但是不確定打中誰(shuí)了");}public void attack(Hero h1) {System.out.println(name + "對(duì)" + h1.name + "進(jìn)行了一次攻擊 ");}public void attack(Hero h1, Hero h2) {System.out.println(name + "同時(shí)對(duì)" + h1.name + "和" + h2.name + "進(jìn)行了攻擊 ");}public static void main(String[] args) {ADHero bh = new ADHero();bh.name = "賞金獵人";Hero h1 = new Hero();h1.name = "蓋倫";Hero h2 = new Hero();h2.name = "提莫";bh.attack(h1);bh.attack(h1, h2);}}

?

7、構(gòu)造方法理解通過(guò)一個(gè)類(lèi)創(chuàng)建一個(gè)對(duì)象的過(guò)程叫做實(shí)例化,實(shí)例化是通過(guò)構(gòu)造方法實(shí)踐的。什么是構(gòu)造方法?構(gòu)造方法名和類(lèi)名一致,但沒(méi)有返回類(lèi)型,實(shí)例化一個(gè)對(duì)象時(shí)必調(diào)用構(gòu)造方法。如下

public class Hero extends Person {public Hero() { //無(wú)返回類(lèi)型System.out.println("這是Hero類(lèi)的構(gòu)造方法");}public static void main(String[] args) {int[] a= {11,22,321,32,355};Hero h1=new Hero(); //實(shí)例化對(duì)象會(huì)調(diào)用后構(gòu)造方法} }

注意:類(lèi)的構(gòu)造方法不寫(xiě)的話,會(huì)默認(rèn)提供一個(gè)無(wú)參構(gòu)造方法。一旦提供了有參的構(gòu)造方法,那么默認(rèn)的無(wú)參的構(gòu)造方法就沒(méi)有了;和普通的構(gòu)造方法一樣,構(gòu)造方法也可以重載。

?

8、java中this和this(),?java中this指當(dāng)前對(duì)象。在一個(gè)構(gòu)造方法中調(diào)用另一個(gè)構(gòu)造方法可以使用this(); 如下

public Hero(String name) { //無(wú)返回類(lèi)型System.out.println("這是Hero類(lèi)的構(gòu)造方法,名字是:"+name);} public Hero(String name,int age) { //無(wú)返回類(lèi)型this(name); //構(gòu)造方法中可以使用this調(diào)用另一個(gè)構(gòu)造方法System.out.println("年齡是:"+age);}

?

9、變量包括基本類(lèi)型和類(lèi)類(lèi)型,參數(shù)也是變量,所以傳參分為基本類(lèi)型傳參和類(lèi)類(lèi)型傳參。總結(jié)來(lái)說(shuō)變量是基本類(lèi)型則叫變量,如int a=12;a是變量,通過(guò)等號(hào)進(jìn)行賦值;如果變量不是基本類(lèi)型而是類(lèi)類(lèi)型,如Hero h1=new Hero(); h1是類(lèi)類(lèi)型的,叫引用,通過(guò)等號(hào)指向?qū)嵗龑?duì)象;

?

10、Package把相近的類(lèi)劃在一個(gè)包下,使用同包類(lèi)的其他類(lèi)直接使用就可以,使用不同包下的類(lèi)則需要使用import引入

?

11、類(lèi)與類(lèi)之間的關(guān)系:

成員變量有四種修飾符
private?私有的
package/friendly/default 不寫(xiě)
protected?受保護(hù)的
public?公共的

以Hero為例
自身:指的是Hero自己
同包子類(lèi):ADHero這個(gè)類(lèi)是Hero的子類(lèi),并且和Hero處于同一個(gè)包下
不同包子類(lèi):Support這個(gè)類(lèi)是Hero的子類(lèi),但是在另一個(gè)包下
同包類(lèi):?GiantDragon 這個(gè)類(lèi)和Hero是同一個(gè)包,但是彼此沒(méi)有繼承關(guān)系
其他類(lèi):Item這個(gè)類(lèi),在不同包,也沒(méi)有繼承關(guān)系的類(lèi)

概括就是private修飾的成員變量只能被本身類(lèi)所訪問(wèn),default修飾(默認(rèn))的成員變量只能被自身和同包的類(lèi)訪問(wèn),protected修飾的成員變量可以被自身或同包類(lèi)或子類(lèi)訪問(wèn),public修飾的變量可以被任何類(lèi)訪問(wèn)。

使用技巧:屬性通常使用private封裝起來(lái);方法一般使用public便于調(diào)用;會(huì)被子類(lèi)繼承的的方法,通常使用protected;作用范圍最小原則就是能用private就用private,不行就網(wǎng)上default》protected》public

參考網(wǎng)址:http://how2j.cn/k/class-object/class-object-modifier/295.html#nowhere

?

12、單例模式又叫做 Singleton模式,指的是一個(gè)類(lèi),在一個(gè)JVM里,只有一個(gè)實(shí)例存在

餓漢式單例模式原理是通過(guò)私有化構(gòu)造函數(shù)使外部無(wú)法實(shí)例化對(duì)象,再通過(guò)在類(lèi)內(nèi)部實(shí)例化一個(gè)該對(duì)象賦值給類(lèi)屬性(靜態(tài)屬性在內(nèi)存上使唯一的),在通過(guò)提供靜態(tài)方法來(lái)訪問(wèn)該靜態(tài)屬性,代碼示例如下:

public class GiantDragon { //私有化構(gòu)造方法使得該類(lèi)無(wú)法在外部通過(guò)new 進(jìn)行實(shí)例化private GiantDragon(){} //準(zhǔn)備一個(gè)類(lèi)屬性,指向一個(gè)實(shí)例化對(duì)象。 因?yàn)槭穷?lèi)屬性,所以只有一個(gè) private static GiantDragon instance = new GiantDragon(); //public static 方法,提供給調(diào)用者獲取12行定義的對(duì)象public static GiantDragon getInstance(){return instance;} }

懶漢式單例模式的不同是只有在getInstance的時(shí)候才會(huì)創(chuàng)建示例,如下:

//準(zhǔn)備一個(gè)類(lèi)屬性,用于指向一個(gè)實(shí)例化對(duì)象,但是暫時(shí)指向nullprivate static GiantDragon instance;//public static 方法,返回實(shí)例對(duì)象public static GiantDragon getInstance(){//第一次訪問(wèn)的時(shí)候,發(fā)現(xiàn)instance沒(méi)有指向任何對(duì)象,這時(shí)實(shí)例化一個(gè)對(duì)象if(null==instance){instance = new GiantDragon();}//返回 instance指向的對(duì)象return instance;} public static void main(String[] args) {//通過(guò)new實(shí)例化會(huì)報(bào)錯(cuò)// GiantDragon g = new GiantDragon(); //只能通過(guò)getInstance得到對(duì)象 GiantDragon g1 = GiantDragon.getInstance();GiantDragon g2 = GiantDragon.getInstance();GiantDragon g3 = GiantDragon.getInstance(); //都是同一個(gè)對(duì)象System.out.println(g1==g2);System.out.println(g1==g3);}

區(qū)別、使用技巧(什么時(shí)候使用餓漢式單例模式,什么時(shí)候使用懶漢式單例模式?)

餓漢式是立即加載的,無(wú)論是否使用到這個(gè)對(duì)象都會(huì)加載,如果構(gòu)造函數(shù)中寫(xiě)了性能消耗較大、占時(shí)較長(zhǎng)的代碼,比如建立和數(shù)據(jù)的連接,那么就會(huì)在啟動(dòng)的時(shí)候稍微有些卡頓;懶漢式是延遲加載的方式,只有在使用的時(shí)候才會(huì)加載,并且有線程安全的考量。使用懶漢式,在啟動(dòng)的時(shí)候,會(huì)感覺(jué)到比餓漢式略快,因?yàn)椴](méi)有做對(duì)象的實(shí)例化。 但是在第一次調(diào)用的時(shí)候,會(huì)進(jìn)行實(shí)例化操作,感覺(jué)上就略慢。看業(yè)務(wù)需求,如果業(yè)務(wù)上允許有比較充分的啟動(dòng)和初始化時(shí)間,就使用餓漢式,否則就使用懶漢式

?

13、對(duì)象轉(zhuǎn)型類(lèi)型轉(zhuǎn)換指的是改變引用所指向的對(duì)象類(lèi)型通常Hero h=new Hero(); 中h引用的引用類(lèi)型是Hero,new Hero()創(chuàng)建的對(duì)象是Hero對(duì)象,引用類(lèi)型和對(duì)象類(lèi)型是一樣的。 那么引用類(lèi)型和對(duì)象類(lèi)型不一樣的情況下會(huì)怎么樣?向上轉(zhuǎn)型(子類(lèi)可以轉(zhuǎn)父類(lèi)),如Hero h = new Hero();ADHero ad = new ADHero(); h = ad; ?這里h引用重新指向了ADHero對(duì)象類(lèi)型。判斷類(lèi)型轉(zhuǎn)換能否成功,可以嘗試將右邊的當(dāng)做左邊的來(lái)用看是否行的通,如ADhero當(dāng)hero英雄是可以的,強(qiáng)制轉(zhuǎn)換如ad=(ADhero)h;

注意:沒(méi)有繼承關(guān)系的類(lèi)進(jìn)行轉(zhuǎn)換是不可以的拋出異常 ClassCastException 類(lèi)型轉(zhuǎn)換異常。如ad = (ADHero) ap;會(huì)失敗。?實(shí)現(xiàn)類(lèi)轉(zhuǎn)換成接口是可以的,如AD adi=new ADhero();因?yàn)閷?shí)現(xiàn)類(lèi)ADhero對(duì)象是完全實(shí)現(xiàn)了接口中的方法的,所以當(dāng)接口用是可以的。

h1 instanceof Hero 可以判斷h1引用指向的對(duì)象類(lèi)型是否為Hero,個(gè)人理解是:類(lèi)型轉(zhuǎn)換改變的引用的指向,并沒(méi)有改變引用類(lèi)型。

package charactor;public class TestHero extends Hero {public static void main(String[] args) {Hero h=new Hero();TestHero th=new TestHero();h=th; //類(lèi)型轉(zhuǎn)換:h引用重新指向子類(lèi)對(duì)象TestHero,所以使用h引用調(diào)用的方法,調(diào)用的是TestHero對(duì)象的方法h.test(); //輸出 TestHero類(lèi)的方法th.test(); //輸出 TestHero類(lèi)的方法System.out.println(h instanceof TestHero ); //instanceof判斷左側(cè)是否是右側(cè)的實(shí)例對(duì)象System.out.println(h instanceof Hero ); //true,因?yàn)橐弥赶虻膶?duì)象繼承了Hero對(duì)象}public void test() {System.out.println("TestHero類(lèi)的方法");}}

14、繼承重寫(xiě):子類(lèi)可以繼承父類(lèi)的對(duì)象方法,在繼承后重復(fù)提供該方法,就叫做方法的重寫(xiě)或override

另外重載發(fā)生在同一個(gè)類(lèi)(如構(gòu)造方法帶參和不帶參),重寫(xiě)發(fā)生在不同類(lèi)(如多態(tài)的實(shí)現(xiàn))。

?

15、多態(tài):操作符的多態(tài)體現(xiàn)在“+”加號(hào)上,加號(hào)兩側(cè)是整形則兩側(cè)數(shù)字相加,如果加號(hào)兩側(cè)任意一個(gè)是字符串則加號(hào)代表字符串連接。多態(tài)是指同一個(gè)類(lèi)型調(diào)用同一個(gè)方法,卻能呈現(xiàn)不同的狀態(tài)。可以理解類(lèi)型轉(zhuǎn)換和繼承重寫(xiě)結(jié)合后形成多態(tài)代。碼如下:

Item i1= new LifePotion(); //這里引用類(lèi)型都是父類(lèi)類(lèi)型,指向到不同的子類(lèi)實(shí)例上,所以輸出不一樣Item i2 = new MagicPotion();System.out.print("i1 是Item類(lèi)型,執(zhí)行effect打印:");i1.effect();System.out.print("i2也是Item類(lèi)型,執(zhí)行effect打印:");i2.effect();

多態(tài)形成的條件是:父類(lèi)(接口)引用指向子類(lèi)對(duì)象,調(diào)用的方法有重寫(xiě)。

參考網(wǎng)址:http://how2j.cn/k/interface-inheritance/interface-inheritance-polymorphic/315.html

?

?16、隱藏:方法的重寫(xiě)是子類(lèi)覆蓋父類(lèi)的對(duì)象方法。隱藏就是子類(lèi)對(duì)父類(lèi)的類(lèi)方法(靜態(tài)方法)的重寫(xiě)Hero h =new ADHero();?h.battleWin(); 在battleWin()方法是類(lèi)方法時(shí),注意父類(lèi)的引用無(wú)論指向哪個(gè)對(duì)象都執(zhí)行的類(lèi)方法仍然是父類(lèi)的類(lèi)方法。。

package charactor;public class Hero {public static void test() {System.out.println("Hero類(lèi)的靜態(tài)方法");} }

?

package charactor;public class TestHero extends Hero {public static void main(String[] args) {// TODO Auto-generated method stubTestHero.test(); //繼承父類(lèi)后對(duì)父類(lèi)的靜態(tài)方法的重寫(xiě)叫做隱藏Hero.test();Hero th=new TestHero(); //父類(lèi)類(lèi)型的引用指向子類(lèi)對(duì)象,會(huì)對(duì)象轉(zhuǎn)型為父類(lèi)Hero類(lèi)型th.test(); //但是調(diào)用的還是引用類(lèi)型父類(lèi)的靜態(tài)方法!!}public static void test() {System.out.println("繼承Hero類(lèi)的后對(duì)test靜態(tài)方法進(jìn)行覆蓋叫做隱藏");}}

?

17、實(shí)例化子類(lèi),父類(lèi)的構(gòu)造方法一定會(huì)被調(diào)用,而且父類(lèi)的構(gòu)造方法會(huì)被優(yōu)先調(diào)用。如果實(shí)例化子類(lèi)時(shí)帶參數(shù),就需要用到super(參數(shù))來(lái)調(diào)用父類(lèi)的有參構(gòu)造方法,如下:

public Hero(String name) { //無(wú)參顯示構(gòu)造方法 System.out.println("Hero類(lèi)的有參構(gòu)造方法"); this.name=name; } public APhero(String name) {super(name); //注意位置必須在構(gòu)造方法的第一行System.out.println("APhero類(lèi)的有參構(gòu)造方法,需要使用super關(guān)鍵字");}public static void main(String[] args) {APhero ap1=new APhero("teemo");}

Super關(guān)鍵字:還可以使用通過(guò)super調(diào)用父類(lèi)的屬性,如this.moveSpeed 和super.moveSpeed。

?

18、Object類(lèi)是所有類(lèi)的父類(lèi),聲明一個(gè)類(lèi)的時(shí)候默認(rèn)是繼承了Object類(lèi)的,

  • Object類(lèi)有toString()方法返回當(dāng)前對(duì)象的字符串表達(dá);
  • finalize()方法是當(dāng)一個(gè)對(duì)象沒(méi)有任何指向的時(shí)候就會(huì)觸發(fā)垃圾回收機(jī)制,垃圾回收時(shí)JVM會(huì)調(diào)用該方法。
  • equals()方法判斷兩個(gè)對(duì)象內(nèi)容是否一致。“==”不是Object的方法,但是可以判斷兩個(gè)引用是否指向一個(gè)對(duì)象。
  • hashCode() 方法返回一個(gè)對(duì)象的哈希值。
  • Object還提供線程同步相關(guān)方法wait()notify()notifyAll()getClass()會(huì)返回一個(gè)對(duì)象的類(lèi)對(duì)象,屬于高級(jí)內(nèi)容

?

19、抽象類(lèi):類(lèi)中聲明一個(gè)方法,該方法沒(méi)有實(shí)現(xiàn)主體,是一個(gè)“空”方法,這個(gè)方法就叫做抽象方法,使用“abstract”修飾,當(dāng)一個(gè)類(lèi)中有抽象方法時(shí),這個(gè)類(lèi)就叫做抽象類(lèi)。子類(lèi)可以通過(guò)繼承抽象類(lèi)實(shí)現(xiàn)不同的方法。抽象類(lèi)可以不包含抽象方法,但是抽象類(lèi)不能被實(shí)例化。

抽象類(lèi)和接口都定義了不包含方法體的方法,那么有什么其他的區(qū)別?區(qū)別一:子類(lèi)只能繼承一個(gè)抽象類(lèi)但可以實(shí)現(xiàn)多個(gè)接口。區(qū)別二:接口中聲明的屬性只能是public static final的,而抽象類(lèi)中可以定義public、defalut、protected、private類(lèi)型的、靜態(tài)和非靜態(tài)屬性、final和非final的屬性。

?

20、內(nèi)部類(lèi):包括非靜態(tài)內(nèi)部類(lèi)和靜態(tài)內(nèi)部類(lèi)、匿名類(lèi)、本地類(lèi)。語(yǔ)法:?new 外部類(lèi)().new 內(nèi)部類(lèi)()所以非靜態(tài)內(nèi)部類(lèi)的實(shí)例必須建立在一個(gè)外部類(lèi)對(duì)象的基礎(chǔ)上的。

?

21、匿名類(lèi)是指在聲明一個(gè)類(lèi)的同時(shí)實(shí)例化它,通常要使用一個(gè)接口或一個(gè)抽象類(lèi)必須創(chuàng)建一個(gè)子類(lèi),為了快速使用,可以直接實(shí)例化一個(gè)抽象類(lèi),并當(dāng)場(chǎng)實(shí)現(xiàn)其抽象方法。既然實(shí)現(xiàn)了抽象方法,那么這就是一個(gè)新的類(lèi),只是個(gè)類(lèi)沒(méi)有命名,這樣的類(lèi)就叫做匿名類(lèi)。如下:

public abstract void attack(); //該抽象方法的抽象類(lèi) Hero h = new Hero(){ //實(shí)例化抽象類(lèi)時(shí)直接實(shí)現(xiàn)抽象方法//當(dāng)場(chǎng)實(shí)現(xiàn)attack方法public void attack() {System.out.println("新的進(jìn)攻手段");}};

內(nèi)部類(lèi)和匿名類(lèi)的區(qū)別是:內(nèi)部類(lèi)聲明在外部類(lèi)成員的位置,而本地類(lèi)和匿名類(lèi)是聲明在代碼塊里面的,可以是主方法或for循環(huán)的代碼塊里面的。

public static void main(String[] args) {//與匿名類(lèi)的區(qū)別在于,本地類(lèi)有了自定義的類(lèi)名class SomeHero extends Hero{ //內(nèi)部本地類(lèi)public void attack() {System.out.println( name+ " 新的進(jìn)攻手段");}}SomeHero h =new SomeHero();h.name ="地卜師";h.attack(); }

?

22、接口默認(rèn)方法是JDK8新特性,指的是接口也可以提供具體方法了,而不像以前,只能提供抽象方法。Mortal 這個(gè)接口,增加了一個(gè)默認(rèn)方法?revive,這個(gè)方法有實(shí)現(xiàn)體,并且被聲明為了default

package charactor;public interface Mortal {public void die();default public void revive() {System.out.println("本英雄復(fù)活了");} }

優(yōu)點(diǎn):假設(shè)沒(méi)有默認(rèn)方法這種機(jī)制,那么如果要為Mortal增加一個(gè)新的方法revive,那么所有實(shí)現(xiàn)了Mortal接口的類(lèi),都需要做改動(dòng)。但是引入了默認(rèn)方法后,原來(lái)的實(shí)現(xiàn)類(lèi),不需要做任何改動(dòng),并且還能得到這個(gè)默認(rèn)方法。通過(guò)這種手段,就能夠很好的擴(kuò)展新的類(lèi),并且做到不影響原來(lái)的類(lèi)

?

23、UML圖的理解和使用

理解:UML-unified module language 統(tǒng)一建模語(yǔ)言,可以很方便的描述類(lèi)的屬性、方法、以及類(lèi)和類(lèi)之間的關(guān)系。

使用:其中修飾符#表示protected ,修飾符+表示 default,方法有下劃線表示是構(gòu)造方法,方法是斜體表示是抽象方法,帶箭頭的實(shí)線表示繼承,帶箭頭的虛線表示實(shí)現(xiàn)接口。

?

?

更多資源或?qū)崙?zhàn)項(xiàng)目詳細(xì)可以了解:http://how2j.cn/k/interface-inheritance/interface-inheritance-practise/679.html?p=29570

總結(jié)

以上是生活随笔為你收集整理的java基础学习笔记(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美激情videos | 两性动态视频 | 久久久精品毛片 | 波多野吉衣毛片 | 伊人青青草 | 久久国产精彩视频 | ass亚洲熟妇毛耸耸pics | 一卡二卡三卡四卡 | www中文在线 | 国产露脸无套对白在线播放 | 国产成人精品av在线观 | 欧美成人影院 | 91精品国产欧美一区二区成人 | 国产精品久久久久久白浆 | 日韩中文字幕在线观看视频 | 日本视频精品 | 93久久精品日日躁夜夜躁欧美 | 无码人妻精品一区二区蜜桃网站 | 精品久久伊人 | 成人性生交免费看 | 狠狠操五月天 | 国产第九页 | 久久精品国产精品亚洲色婷婷 | 国产片网址 | 亚洲自拍偷拍第一页 | 97视频网址| www.香蕉.com| 亚洲视频导航 | 又黄又爽的视频 | 麻豆成人精品 | 成人免费视频软件网站 | 一个人在线免费观看www | 中文字幕一二三 | 成人av在线看 | 色图在线观看 | 日韩精品一区二区三区 | 欧美成人黄色小视频 | 91国产丝袜在线播放 | 91精品欧美一区二区三区 | 亚洲人体视频 | 侵犯亲女在线播放视频 | 一区二区在线视频免费观看 | 日韩电影一区二区在线观看 | 91在线短视频 | 神马久久精品 | 欧美日韩a| 色哟哟av | 久久午夜片| 波多野结衣中文字幕久久 | 狠狠人妻久久久久久 | 天天舔天天爱 | 国产又粗又硬 | 欧美一区二区免费 | 久久窝窝 | 韩国一二三区 | 国产精品视频一二三区 | 久久这里只有精品国产 | 欧美大片高清免费观看 | 久久久久中文字幕亚洲精品 | 久久成人a毛片免费观看网站 | 欧洲精品久久久久毛片完整版 | 波多野结衣在线免费视频 | 亚洲啪av永久无码精品放毛片 | av片国产 | 国产无码精品一区二区 | 久久国产精品久久 | 天天想你在线观看完整版高清 | 日韩精品tv | 5月婷婷6月丁香 | 国产一区二区三区高清 | 大桥未久恸哭の女教师 | 黄色在线观看网址 | 国产精品九九 | 在线黄色av | 91精品国产高潮对白 | 国产又大又黑又粗 | 国产激情综合 | 欧美高清hd18日本 | 久久精品在线观看 | av天天有| 色校园 | 最近日韩免费视频 | 天堂成人av | 波多野结衣中文在线 | 91精品国产乱码久久久张津瑜 | 成人午夜精品视频 | 久久免费偷拍视频 | 日韩成人高清在线 | 美女污软件 | 久久久久久国产视频 | 国产第一页视频 | 插骚| 欧美在线性 | 亚洲欧美日韩精品永久在线 | 中文字幕无码不卡免费视频 | 久久免费视频播放 | 国产精品99久久久久久久久久久久 | 亚洲av人无码激艳猛片服务器 | 国产chinese |