修飾符 內部類 String

2021-10-18 13:15:58 字數 4612 閱讀 3642

修飾符

狀態修飾符:

final:最終的,無法更改的,一般用在類上或者方法上或者常量的定義上;常量的定義格式: public static final 資料型別 變數名 =初始化值;凡是被final修飾的類都無法被繼承,被fianl修飾非方法無法被重寫,被final修飾的變數是常量(如果該變數是基本資料型別,則該常量是編譯時期常量;如果該變數是引用型別,則該常量是執行時期常量)

靜態修飾符:

static:一般用在方法或者變數上,使得該方法或者該變數是所有物件所共享的,不再依賴某乙個物件而存在,隨著類的載入而載入,優先於物件而存在,可以使用類名.方法名(變數名)來訪問

抽象修飾符:

abstract:一般用在類上或者方法上,用在類上,該類是抽象類,無法直接例項化,需要靠具體的子類實現例項化;用在方法上,該方法是抽象方法,沒有方法體,需要子類重寫該方法

許可權修飾符:

public:許可權最大,不管是否在同乙個包下,不管是否是子類,都可以訪問到

protected:許可權僅次於public ,同乙個包下的子類和無關類都可以訪問,不同包下的子類中也可以訪問,不同類的無關類中無法訪問

預設修飾符:許可權僅次於public和protected,它只能訪問同乙個包下的子類或者無關類,無法訪問不同包下的內容

private:許可權最小,只能在當前類中訪問到,出了當前類就無法訪問,作用範圍只是當前類中;而且private修飾的方法或者變數無法被繼承;

內部類:在乙個類中定義另乙個類,

特點:內部類可以訪問外部類的成員(包括私有)但是外部類的成員無法直接訪問內部類方法

非靜態的成員內部類:如果要呼叫非靜態的成員內部類中的方法,則需要建立其物件,然後再進行訪問,格式為: 外部類名.內部類名 物件名=new 外部類名().new 內部類名(); 非靜態的成員內部類和成員變數是同一級別的,它是在外部類建立物件時分配空間的,依賴外部類物件而存在;

靜態的成員內部類:建立其物件的格式為: 外部類名.內部類名 物件名=new 外部類名.內部類名 (); 靜態的成員內部類訪問外部類中的成員時,該成員必須也是靜態的;靜態的成員內部類和靜態成員變數是同一級別的,它不依賴外部類物件而存在,而是隨著外部類的載入而存在;

區域性內部類:定義在外部類的成員方法中的類,和區域性變數是同一級別的,作用範圍是當前方法中,區域性內部類訪問區域性變數需要使用fianl修飾區域性變數,目的是保證區域性變數擁有和區域性內部類物件相同的生命週期;

匿名內部類:沒有名字的區域性內部類,也是定義在成員方法中,和區域性內部類不同的是,它是將定義類,建立物件和重寫方法這三步一塊實現了,多是用在方法的形參和返回值處;匿名內部類的本質是繼承了該類或者是實現了該介面的子實現類的物件

格式: new 類名();

陣列的選擇排序

思想:使用0角標對應的元素依次和後面的元素進行比較,小的往前放,第一次比完陣列中最小的數出現在0角標處,在使用1角標對應的元素依次和後面比較...

object類中的常用方法:

public final class getclass():返回當前類的位元組碼檔案物件

public string tostring():返回當前物件的字串表示形式

public int hashcode:返回該物件的雜湊碼值表示形式

protected object clone() throws clonenotsupportedexception:建立並返回該物件的乙個副本,呼叫該方法必須實現cloneable介面,否則丟擲異常

public boolean equals(object obj):表示兩個物件之間進行比較,看是否相等,沒有重寫之前預設也是位址值得比較

string類

字串是常量,它們的值在建立之後不能更改,string str="abc" 是在常量池中開闢空間,建立了乙個物件,而 string str=new string("abc"); 該方式是在堆記憶體中開闢空間,然後在常量池中再開闢空間,工建立了兩個物件,所以二者是不同的

string類的構造方法:

public string ():建立乙個空字串行的字串物件

public string(byte bytes):將乙個位元組數組構造成乙個字串,這個過程叫做解碼

public string(byte bytes,int offset , int length):將一部分位元組數組構造成字串

public string(char value):將乙個字元陣列構造成乙個字串

public string (char value,int offset ,int count):將一部分的字元陣列構造成字串

public string (string original ):將乙個字串構造成字串

string 類的常用方法:

public char charat(int index):返回指定索引處的字元

public int compareto(string anotherstring):按字典順序比較;其實現規則是如果乙個字串是另乙個字串的一部分,則直接是兩個字串的長度相減;如果不是,則直接是不同處的字母的ascii碼表值相減,

pulbic string concat(string str):將兩個字串拼接起來

public boolean contains(charsequence s):判斷該字串當中是否包含某個字元

public boolean endswith(string suffix):判斷該字串是否是以該字元結尾

public boolean startswith(string prefix):判斷該字串是否是以該字元開始

public boolean euquals(object anobject):兩個字串比較是否相等,重寫了object中的equals方法,所以比較的是內容是否相等

public boolean equalsignorecase(string anotherstring):忽略大小寫比較兩個字串的內容是否相同

public boolean isempty():判斷當前物件是否為空

pulbic byte getbystes():將該字串變成乙個位元組陣列,這個過程叫做編碼

pulbic int hashcode():返回此字串的雜湊碼值

public int indexof(int ch):返回此字元在字串中第一次出現的索引值

public int indexof(int ch,int fromindex):返回該字元在字串中第一次出現的索引值,從指定索引處開始搜尋

public int lastindexof(int ch,int fromindex):返回該字元在字串中最後一次出現的索引值

public int length():返回該字串的長度

public string replace(char oldchar, char newchar):將字串的某個字元使用新的字元替換掉

public string split(string regex):使用給定的正規表示式將字串拆分, 拆分後,該正規表示式將會在字串中消失

public string substring (int beginindex):從指定索引處開始擷取,返回乙個新的字串

public char tochararray():將此字串轉換為乙個字串陣列

public string tolowercase():將字串全部轉換為小寫

public string touppercase():將字串全部轉換為大寫

public string trim():清除字串前後的空格

public static string valueof(引數類表):將乙個各種型別轉換為乙個字串

stringbuffer和stringbulider

stringbuffer 是字串大小可變的類,是字串緩衝區,執行緒安全,但是執行效率低,jdk1.0版本就已經有了,而stringbulider 是執行緒不安全,但是執行效率快,是jdk1.5版本才有的

構造方法有:

stringbuffer():構造乙個沒有字元的字串緩衝區,初始容量為16個位元組

stringbuffer(int capacity):構造乙個沒有字元,卻指定了初始容量的字串緩衝區

stringbuffer(string str):構造乙個指定了內容的字串緩衝區

常用方法有:

public char charat(int index):返回指定索引處的字元

public stringbuffer delete(int start ,int end ):按照索引刪除當前字串的部分序列

public stringbuffer insert(int offset,char c):在指定的索引處插入字元

public int length():返回字串的長度

public stringbuffer replace(int start ,int end,string str):使用給定的字串替換指定索引範圍內的字串

public charsequence subsequence(int start ,int end ):按照指定索引進行擷取,返回乙個新的字串

public string tostring():返回該物件的字串表示形式

包,修飾符,內部類

目錄 包的特點 許可權修飾符 內部類成員內部類 區域性內部類 匿名內部類 注意 代表的是萬用字元,表示匯入這個包下的所有類,但沒有匯入子包下的類 public protected default private 同一類中 同一包中 子類與無關類 不同包的子類 不同包中的無關類 修飾符總結 修飾符 類...

內部類,匿名內部類,許可權修飾符

二.匿名內部類 三.許可權修飾符 public class a 格式 外部類物件.內部類物件 物件名 new 外部類物件.new 內部類物件 不使用匿名內部類呼叫抽象物件中的方法 建立子類,繼承父類 重寫方法 建立子類物件 呼叫重寫方法 使用匿名內部類 無需建立子類直接new父類即可 格式一 new...

java內部類的修飾符

1.內部類與類中的字段,方法一樣是內部類的成員,它與前面也可以有訪問控制符和其他修飾符。訪問控制符 public,protected,預設及private。注 外部類只能用public修飾或者預設 final,abstract 2.static修飾符 用static修飾內部類表明用該內部類實際上是一...