【部分】Java速成學習筆記

AC它真的很香發表於2020-10-02

StringBuilder類 可變,
方法:
sb.append(“hello”); //可追加任意資料型別
sb.reverse(“hello”); //實現字串轉換,變為"olleh"

轉換
sb.toString(); //StringBuilder轉化為String
StringBuilder sb = new StringBuilder(s);//String轉化為StringBuilder

ArrayList類似C++裡的vector
定義:ArrayList array=new ArrayList<>(); //其中E為ArrayList裡儲存的資料型別
array.add(“hello”); //可以追加元素到末尾
array.add(index:1,element:“hello”); //在索引1處新增字串"hello"
array.remove(“hello”); //刪除指定元素,返回刪除是否成功
array.remove(index: 1); //刪除指定索引處的元素,返回被刪除的元素
array.set(index: 1,“javese”); //修改指定索引處的元素,返回被修改的值
array.get(0);//返回指定索引的元素
array.size(); //返回集合的元素個數

int輸入後不能輸入String的解決方法:
int a=cin.nextInt();
cin.nextLine(); //在int後加上這一行
String s=cin.nextLine();

繼承
public class 子類 extends 父類 {}
super關鍵字用於訪問父類中的成員變數

關於方法重寫
私有方法不能被重寫
子類中重寫方法的訪問許可權不能比父類的低(public>預設>私有)

方法被final修飾後不能重寫
變數別final修飾,不能再次被賦值
類被final修飾後不能作為父類被繼承

靜態成員方法只能訪問靜態成員

抽象類中不一定有抽象方法
類中如果有抽象方法,該類必須定義為抽象類
public abstract class Animal{
public abstract void eat();
}

抽象類的子類重寫父類中所有抽象方法時,抽象方法不含abstract關鍵字

字串比較==和equals()的區別
==比的是字串的地址
equals()比的是字串的內容

介面裡只存在成員常量,預設修飾為public static final,可以被介面名直接訪問
介面沒有構造方法,介面裡的成員方法不能有方法體(只能是抽象方法),預設修飾為public abstract
一個類如果沒有父類,預設繼承為Object類

抽象類是對事物的抽象,而介面是對行為的抽象

相關文章