標籤:
1.建立一個抽象類別,驗證它是否可以執行個體化對象。
package com.lzw;public abstract class UseCase3 { abstract void doit(); public static void main(String args[]){ new UseCase3(); }}
2.嘗試建立一個父類,在父類中建立兩個方法,在子類中覆蓋第二個方法,為子類建立一個對象,將它向上轉型到基類並調用這個方法。
package com.lzw;public class UseCase2 { public void doSomething(){ System.out.println("父類.doSomething()"); } public void doAnything(){ System.out.println("父類.doAnything()"); } public static void main(String args[]){ UseCase2 u=new sub(); u.doSomething(); u.doAnything(); }}class sub extends UseCase2{ public void doAnything(){ System.out.println("子類.doAnything()"); }}
3.嘗試建立一個父類和子類,分別建立一個構造方法,然後向父類和子類新增成員變數和方法,並總結構造子類對象時的順序。
package com.lzw;public abstract class UseCase1 {abstract void testAbstract();UseCase1(){//(1)首先執行父類構造方法System.out.println("before testAbstract()");testAbstract();//如果調用了抽象方法,調用子類覆蓋的方法。這裡調用Atest類的testAbstract()方法System.out.println("after testAbstarcat()");}public static void main(String args[]){new Atest();}}class Atest extends UseCase1{private int i=1;//(2)使成員變數進行初始化void testAbstract(){System.out.println("testAbstract()"+i);}public Atest(){//(3)調用子類構造方法System.out.println(i);}}
學習筆記——Java核心技術之介面、繼承與多態練習題