官术网_书友最值得收藏!

鞏固與提高

1.選擇題

(1)下列關于抽象類的說法中,正確的是( )。

A.抽象類可以繼承非抽象類

B.抽象類不能實例化對象

C.抽象類必須包含抽象方法

D.繼承抽象類的子類必須實現父類中的抽象方法

(2)下列關于接口的說法中,正確的是( )。

A.在接口中不能定義變量

B.在接口中可以定義非抽象方法

C.在接口中定義的方法都是public、static、abstract

D.接口可以實現多繼承

(3)下列關于final的說法中,正確的是( )。

A.final修飾的類可以被繼承

B.final修飾的方法不能被子類繼承

C.final修飾的成員變量一旦初始化,就不能修改

D.final修飾的方法在子類可以被重寫

(4)下列選項中,定義抽象類的關鍵字是( )。

A.interface

B.implements

C.abstract

D.class

(5)下列選項中,定義最終類的關鍵字是( )。

A.interface

B.implements

C.abstract

D.final

(6)下列選項中,用于定義接口的關鍵字是( )。

A.interface

B.implements

C.abstract

D.class

(7)現有類A和接口B,以下描述中表示類A實現接口B的語句是( )。

A.class A implements B

B.class B implements A

C.class A extends B

D.class B extends A

(8)下列關于抽象類的描述中,正確的是( )。

A.抽象類中不可以有非抽象方法

B.某個非抽象類的父類是抽象類,則這個子類不一定重載父類所有的抽象方法

C.不能用抽象類去創建對象

D.接口和抽象類是同一個概念

(9)下列說法中正確的是( )。

A.抽象類可以有構造方法

B.接口可以有構造方法

C.可以用new操作符操作一個接口

D.可以用new操作符操作一個抽象類

2.填空題

(1)如果接口中定義了一個方法methodA(),一個屬性attA,那么一個類ClassA要實現這個接口的話,就必須實現其中的_________方法。

(2)接口中所有方法的修飾符均為__________和__________的。

(3)抽象方法是只有方法頭,沒有__________的方法。

(4)Java語言中接口是特殊的類,其中包含常量和____________方法。

(5)接口中所有屬性的修飾符均為 ___________、____________和___________的。

(6)接口是特殊的類,所以接口也可以繼承,子接口將繼承父接口的所有___________和____________。

3.閱讀程序并寫出程序運行結果

(1)第一段程序:

            abstract class AbstractBase {
                public AbstractBase(){
                    print();
                }
                public abstract void print();
            }
            class AbstractBaseImp extends AbstractBase{
                int i = 4;
                public AbstractBaseImp(){
                    System.out.println(i);
                }
                public void print(){
                    System.out.println("i="+i);
                }
                public static void main(String args[]){
                    new AbstractBaseImp().print();
                }
            }

運行結果:________________。

(2)第二段程序:

            interface A{
                String a = "接口A中變量";
                void showA();
            }
            interface B extends A{
                String b = "接口B中變量";
                void showB();
            }
            interface C extends B{
                String c = "接口C中變量";
                void showC();
            }
            class InterfaceABC implements C{
                public void showA(){
                    System.out.println(a);
                }
                public void showB(){
                    System.out.println(b);
                }
                public void showC(){
                    System.out.println(c);
                }
            }
            public class InterfaceDemo{
                public static void main(String[] args) {
                    InterfaceABC i = new InterfaceABC();
                    i.showA();
                    i.showB();
                    i.showC();
                    }
            }

運行結果:______________。

4.操作題

(1)定義抽象的Intrument(樂器)類,聲明一個抽象的play();定義一個派生類Stringed(弦類樂器),實現父類的抽象的play(),在main()中實例化Stringed類調用play()。

(2)定義含有抽象方法print()的基類,在構造方法中調用print();print()方法在派生類被重寫,該方法打印在派生類中定義的成員變量i,在定義i時給定非零的初始值;在main()中,創建派生類的對象,然后調用print()。

(3)定義一個接口Myinterface,有兩個抽象方法max()和min();在Operation類中實現該接口,同時實現抽象方法max()和min(),它們分別用于求任意三個整數中的最大值和最小值。

(4)定義一個Compute接口,有抽象方法add()、substract()、multiply()和divide();定義一個實現Compute接口的類Computer,然后創建Computer對象完成加、減、乘和除四個方法的調用。

主站蜘蛛池模板: 庆阳市| 天水市| 五大连池市| 徐汇区| 辽源市| 汶上县| 洪洞县| 广灵县| 临沭县| 溧水县| 延边| 大厂| 托克托县| 乌鲁木齐市| 宁化县| 福州市| 卢湾区| 建平县| 镇雄县| 阜平县| 宁德市| 钟山县| 和龙市| 台安县| 岚皋县| 田东县| 和硕县| 塘沽区| 阳泉市| 平度市| 临夏县| 承德市| 贺兰县| 来安县| 波密县| 玉林市| 威海市| 沁源县| 红河县| 台安县| 宜兴市|