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

正文內(nèi)容

java基礎(chǔ)知識(shí)點(diǎn)總結(jié)-資料下載頁(yè)

2025-06-28 08:47本頁(yè)面
  

【正文】 //在靜態(tài)初始化塊中為類(lèi)變量指定初始值,合法 d=。 } public FinalVariableTest(){ //str在初始化塊中已定義初始值,不可重新賦值// str=java。 //構(gòu)造器,可對(duì)既沒(méi)有指定默認(rèn)值,又沒(méi)有在初始化塊中指定初始值的實(shí)例變量指定初始值 c=5。 } public void changeFinal(){ //普通方法不能為final修飾的成員變量賦值// d=。 //不能在普通方法中為final成員變量指定初始值// ch=39。a39。 } public static void main(String[] args){ FinalVariableTest ft=new FinalVariableTest()。 ()。 ()。 ()。 }}Final局部變量系統(tǒng)不會(huì)對(duì)局部變量進(jìn)行初始化,局部變量必須由程序員顯式初始化。因此final修飾局部變量時(shí),既可以在定義時(shí)指定默認(rèn)值,也可以不指定默認(rèn)值。如果final修飾的局部變量在定義時(shí)沒(méi)有指定默認(rèn)值,則可以在后面代碼中對(duì)該final變量賦初始值,但只能一次,不能重復(fù)賦值。 當(dāng)使用final修飾基本類(lèi)型變量時(shí),不能對(duì)基本類(lèi)型變量重新賦值,因此基本列表變量不能改變。但對(duì)于引用類(lèi)型變量而言,它保存的僅僅是一個(gè)引用,final只保證這個(gè)引用類(lèi)型變量所引用的地址不會(huì)改變,即一直引用同一個(gè)對(duì)象,但這個(gè)對(duì)象完全可以改變。public class FinalReferenceTest { public static void main(String[] args){ //final修飾數(shù)組變量,iArr是一個(gè)引用變量 final int[] iArr={5,6,12,9}。 ((iArr))。 //對(duì)數(shù)組元素排序,合法 (iArr)。 ((iArr))。 //對(duì)數(shù)組元素賦值,合法 iArr[2]=8。 ((iArr))。 //對(duì)iArr重新賦值,非法// iArr=null。 //final修飾Person變量,p是一個(gè)引用變量 final Person p=new Person(45)。 //改變p對(duì)象的age實(shí)例變量,合法 (23)。 (())。 //對(duì)p重新賦值,非法// p=null。 }}class Person{ private int age。 public Person(){} //有參數(shù)的構(gòu)造器 public Person(int age){ =age。 } public void setAge(int age){ =age。 } public int getAge(){ return age。 }}可執(zhí)行“宏替換”的final變量對(duì)于一個(gè)final變量來(lái)說(shuō),不管它是類(lèi)變量、實(shí)例變量,還是局部變量,只要該變量滿足三個(gè)條件,這個(gè)final變量就不再是一個(gè)變量,而是相當(dāng)于一個(gè)直接量1) 使用final修飾符修飾2) 在定義該final變量時(shí)指定了初始值3) 該初始值可以在編譯時(shí)就被確定下來(lái)如果被賦的表達(dá)式只是基本的算術(shù)表達(dá)式或字符串連接運(yùn)算,沒(méi)有訪問(wèn)普通變量,調(diào)用方法,java編譯器同樣會(huì)將這種final變量當(dāng)成“宏變量”處理。public class FinalReplaceTest { public static void main(String[] args){ //下面定義了4個(gè)final宏變量,因?yàn)榫幾g器在編譯時(shí)就可以確定 final int a=5+2。 final double b=。 final String str=瘋狂+java。 final String book=瘋狂java講義:+。 //下面的book2變量的值因?yàn)檎{(diào)用了方法,所以無(wú)法在編譯時(shí)被確定下來(lái) final String book2=瘋狂java講義:+()。 (book==瘋狂Java講義:)。 //相等 (book2==瘋狂java講義:)。 //不相等 }}Java會(huì)使用常量池來(lái)管理曾經(jīng)用過(guò)的字符串直接量,例如執(zhí)行String a=”java”,語(yǔ)句之后,常量池中就會(huì)緩存一個(gè)字符串“Java”;如果程序再執(zhí)行String b=”java”,系統(tǒng)將會(huì)讓b直接指向常量池中的“java”字符串,因此a==b將會(huì)返回true.public class StringJoinTest { public static void main(String[] args){ String s1=瘋狂java。 //s2變量引用的字符串可以在編譯時(shí)就確定下來(lái),因此s2的直接引用常量池中已有的“瘋狂java字符串 String s2=瘋狂+java。 (s1==s2)。 String str1=瘋狂。 String str2=java。 //str3由str1和str2進(jìn)行連接運(yùn)算后得到的。由于str1和str2只是兩個(gè)普通變量,編譯器不會(huì)執(zhí)行“宏替換”,因而不能在 // 編譯時(shí)確定s3的值,也就無(wú)法讓s3指定字符串池中緩存的“瘋狂Java” String s3=str1+str2。 (s1==s3)。 //只要讓編譯器對(duì)str1和str2兩個(gè)變量執(zhí)行“宏替換”,這樣編譯器即可在編譯階段就確定s3的值,就會(huì)讓s3指向字符串池 //中緩存的“瘋狂java”。也就是,只要將str1和str2使用final修飾即可 }}Final方法Final修飾的方法不可被重寫(xiě),但是可以重載Final類(lèi)Final修飾的類(lèi)不可以有子類(lèi)。因而為了保證某個(gè)類(lèi)不可被繼承,則可以使用final修飾這個(gè)類(lèi)。抽象方法和抽象類(lèi)必須使用abstract修飾符來(lái)定義,有抽象方法的類(lèi)只能被定義成抽象類(lèi),抽象類(lèi)里可以沒(méi)有抽象方法。抽象方法和抽象類(lèi)的規(guī)則如下:1) 抽象類(lèi)必須使用abstract修飾符來(lái)修飾,抽象方法也必須使用abstract修飾符來(lái)修飾,抽象方法不能有方法體。2) 抽象類(lèi)不能被實(shí)例化,無(wú)法使用new關(guān)鍵字來(lái)調(diào)用抽象類(lèi)的構(gòu)造器創(chuàng)建抽象類(lèi)的實(shí)例。即使抽象類(lèi)里不包含抽象方法,這個(gè)抽象類(lèi)也不能創(chuàng)建實(shí)例。3) 抽象類(lèi)可以包含成員變量、方法(普通方法和抽象方法都可以)、構(gòu)造器、初始化塊、內(nèi)部類(lèi)(接口、枚舉)5種成分。抽象類(lèi)的構(gòu)造器不能用于創(chuàng)建實(shí)例,主要是用于被其他子類(lèi)調(diào)用。4) 含有抽象方法的類(lèi)(包括直接定義了一個(gè)抽象方法;或繼承了一個(gè)抽象父類(lèi),但沒(méi)有完全實(shí)現(xiàn)父類(lèi)包含的抽象方法;或?qū)崿F(xiàn)了一個(gè)接口,但沒(méi)有完全實(shí)現(xiàn)接口包含的抽象方法三種情況)只能被定義成抽象類(lèi)。抽象類(lèi):多了一個(gè)能力,抽象類(lèi)可以包含抽象方法;失去了一個(gè)能力,抽象類(lèi)不能用于創(chuàng)建實(shí)例。定義抽象方法只需在普通方法上增加abstract修飾符,并把普通方法的方法體(也就是方法后花括號(hào)括起來(lái)的部分)全部去掉,并在方法后增加分號(hào)即可。定義抽象類(lèi)只需在普通類(lèi)上增加abstract修飾符即可。/** * Created by AIwen on 2017/5/19. */public abstract class Shape { { (執(zhí)行shape的初始化塊...)。 } private String color。 //定義一個(gè)計(jì)算周長(zhǎng)的抽象方法 public abstract double calPerimeter()。 //定義一個(gè)返回形狀的抽象方法 public abstract String getType()。 //定義Shape的構(gòu)造器,該構(gòu)造器并不是用于創(chuàng)建Shape對(duì)象,而是用于被子類(lèi)調(diào)用 public Shape(){} public Shape(String color){ (執(zhí)行Shape構(gòu)造器)。 =color。 } public void setColor(String color){ =color。 } public String getColor(){ return color。 }}public class Triangle extends Shape{ private double a。 private double b。 private double c。 public Triangle(String color,double a,double b,double c){ super(color)。 (a,b,c)。 } public void setSides(double a,double b,double c){ if(a=b+c||b=a+c||c=a+b){ (三角形兩邊之和必須大于第三邊)。 return。 } =a。 =b。 =c。 } public double calPerimeter(){ return a+b+c。 } public String getType(){ return 三角形。 }}public class Circle extends Shape{ private double radius。 public Circle(String color,double radius){ super(color)。 =radius。 } public void setRadius(double radius){ =radius。 } public double calPerimeter(){ return 2**radius。 } public String getType(){ return getColor()+圓形。 } public static void main(String[] args){ Shape s1=new Triangle(黑色,3,4,5)。 Shape s2=new Circle(黃色,3)。 (())。 (())。 (())。 (())。 }}當(dāng)使用abstract修飾類(lèi)時(shí),表明這個(gè)類(lèi)只能被繼承;當(dāng)使用abstract修飾方法時(shí),表明這個(gè)方法必
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1