java基礎第五天_靜態代碼塊、類的繼承和接口

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();

 

8.定義接口

(1)IWhite

(2)IRich

(3)IBeanty

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

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

 

 

interface Iwhite {

    public void skinWhite();

}

 

interface IRich {

    public void walletRich();   

}

 

interface IBeauty {

    public void faceBeauty();

}


interface WhiteRichBeauty extends Iwhite, IRich, IBeauty {

 

}

  

class RichMan {

    public void marry(WhiteRichBeauty woman) {

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

}

}

 

class RichManDemo {

    public static void main(String[] args) {

 

        WhiteRichBeauty womanStar = new WhiteRichBeauty() {

            public void skinWhite() {

            }

 

            public void walletRich() {

            }

 

            public void faceBeauty() {

            }

        };

 

    RichMan man = new RichMan();

    man.marry(womanStar);

    }

}


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