Java學習二(面向對象)day03
day03
1.引用類型數組
1)先聲明後賦值
Student[] stus = new Studenr[3];
stus[0] = new Student(“zhangsan”,25,”LF”);
stus[1] = new Student(“lisi”,26,”JMS”);
stus[2] = new Student(“wangwu”,27,”SD”);
stus[1].age = 36; //給 stus中第2個元素的年齡賦值為36
2)聲明的同時賦值
Student[] stus = new Studenr[]{
new Student(“zhangsan”,25,”LF”),
new Student(“lisi”,26,”JMS”),
new Student(“wangwu”,27,”SD”)
};
3)int[]型的數組------------數組的數組
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[0] = new int[2];
arr[0] = new int[2];
a[1][0] = 100; // 給 arr中第2個元素的第1個元素賦值為100
4)遍歷數組的數組
int[][] arr = new int[3][4];
for(int i = 0;i<arr.length;i++){
for(j = 0;j<arr[i].length;j++){
a[i][j] = 100;
}
}
//引用類型數組測試類
public class StuTest {
public static void main(String[] args) {
Stu[] stus = new Stu[3]; //創建Stu數組對象
stus[0 ] = new Stu("zhangsan",25,"LF"); //創建Stu對象
stus[1] = new Stu("lisi",26,"JMS");
stus[2] = new Stu("wangwu",28,"SD");
System.out.println(stus[1].age); //26
for(int i=0;i<stus.length;i++){
System.out.println(stus[i].name);
stus[i].sayHi();
}
Stu[] ss = new Stu[]{
new Stu("zhangsan",25,"LF"),
new Stu("lisi",26,"JMS"),
new Stu("wangwu",28,"SD")
};
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[3];
arr[2] = new int[2];
arr[1][0] = 100;
int[][] as = new int[3][4];
for(int i=0;i<as.length;i++){
for(int j=0;j<as[i].length;j++){
as[i][j] = 100;
}
}
}
}
2.繼承
1)作用:代碼復用
2)通過extends來實現繼承
3)超類/父類:所有派生類所共有的屬性和行為
派生類/子類:派生類所特有的屬性和行為
4)派生類繼承超類後,派生類具有:超類的+派生類的
5)一個超類可以有多個派生類
一個派生類只能有一個超類 -----------單一繼承
6)繼承具備傳遞性
7)java規定:構造派生類之前必須先構造超類
在派生類的構造方法中若沒有調用超類的構造方法
-----則默認super()調用超類的無參構造方法
在派生類的構造方法中若調用超類的構造方法
-----則不再默認提供
super()調用超類構造方法必須放在最上面
3.super:指代當前對象的超類對象
super的用法:
1)super.成員變量名 ------------------訪問超類的成員變量
2)super .方法名 ------------------------調用超類的方法
3)super() --------------------------------調用超類的構造方法
//super的演示
public class SuperDemo {
public static void main(String[] args) {
Boo o = new Boo();
}
}
class Coo{
Coo(int a){
}
}
class Doo extends Coo{
Doo(){
super(5);
}
/*
//如下代碼,寫不寫都有
Doo(){
super();
}
*/
}
class Aoo{
Aoo(){
System.out.println("超類的構造方法");
}
}
class Boo extends Aoo{
Boo(){
//super(); //默認的(調用超類的構造方法)
System.out.println("派生類的構造方法");
}
}
Java學習二(面向對象)day03