IT十八掌作業_java基礎第五天_靜態代碼塊、類的繼承和接口

大家對IT十八掌大數據的支持,今天的作業如下



1.文字闡述靜態代碼塊的作用。

2.構造代碼塊與構造函數的調用順序如何?和方法的聲明位置是否有關?爲什麼?構造代碼塊的作用是什麼?

3.類加載時,是否一定會執行靜態代碼塊?如何手動控制類加載?

4.定義類Person,Man,Woman形成繼承關係。

5.什麼是抽象方法?什麼是抽象類?抽象類是否有構造函數,是否可以重載?

6.抽象修飾符有哪些非法組合?並給出合理的解釋?

7.super和this作用以及用法以及注意事項?

8.定義接口

1.IWhite

2.IRich

3.IBeanti

4.定義類,實現以上三個接口.(WomenStar)

5.定義土豪類(EarchRicher.marring(...))





-------------------------------------------------------------------------------------------

1.文字闡述靜態代碼塊的作用。

答:

靜態代碼塊在類加載的時候執行,而且只執行一次。


2.構造代碼塊與構造函數的調用順序如何?和方法的聲明位置是否有關?爲什麼?構造代碼塊的作用是什麼?

答:

構造代碼塊調用順序優先於構造方法,和方法的聲明位置無關。

構造代碼塊作用:a.可以存放多個構造方法的共同代碼,提升代碼的重複性

b.對成員變量初始化


3.類加載時,是否一定會執行靜態代碼塊?如何手動控制類加載?

答:

類加載時默認執行靜態代碼塊。

手動控制類加載使用Class.forName("classname"),默認加載類時,執行代碼塊。


4.定義類Person,Man,Woman形成繼承關係。

答:

class Persion {


}


class Man extends Persion {


}


class Woman extends Persion {


}


5.什麼是抽象方法?什麼是抽象類?抽象類是否有構造函數,是否可以重載?

答:

抽象方法是:沒有方法體的方法。必須使用abstract修飾。

抽象類:含有抽象方法的類,就是抽象類,抽象類也必須要使用abstract修飾。

抽象類有構造函數,並且可以被重寫


6.抽象修飾符有哪些非法組合?並給出合理的解釋?

答:

abstract + static 是非法的修飾符組合。static修飾可以更方便的訪問公共的屬性,抽象的直接訪問時沒有任何意義的

abstract + final  是非法的修飾符組合。final修飾的就是最終的,不能更改,抽象需要去實例化的,需要操作

abstract + private是非法的修飾符組合。抽象類需要子類繼承來實例化,私有是不能繼承的


7.super和this作用以及用法以及注意事項?

答:

super : 超類,作用方面類似於this.

super(...) : 訪問超類的構造函數.只能用在第一行。默認是super();

this是隻想對象自身的引用

this:指向對象自身的引用。

this(...)表示的是調用當前類的構造函數.只能用在第一行。默認this();


8.定義接口

1.IWhite

2.IRich

3.IBeanti

4.定義類,實現以上三個接口.(WomenStar)

5.定義土豪類(EarchRicher.marring(...))

答:

/**

 * 土豪徵婚案例,徵婚對象要求至少具備白富美三種特性,土豪徵婚使用匿名內部類對象實現.

 */

// 定義三種特性白富美

interface Iwhite {

public void skinWhite();

}


interface IRich {

public void walletRich();


}


interface IBeauti {

public void faceBeauti();

}


// 定義一個白富美接口繼承三個接口

interface WhiteRichBeauti extends Iwhite, IRich, IBeauti {


}


// 定義一個男土豪類

class RichMan {

public void marry(WhiteRichBeauti woman) {

System.out.println("Find Love!");

}

}


class RichManDemo {

public static void main(String[] args) {

// 匿名內部類,面向接口編程

WhiteRichBeauti womanStar = new WhiteRichBeauti() {

public void skinWhite() {

}


public void walletRich() {

}


public void faceBeauti() {

}

};


RichMan man = new RichMan();

man.marry(womanStar);

}

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章