Java麵向對象高級--抽象類的基本概念------abstract
抽象類的概念:
包含一個抽象方法的類就稱為抽象類。
抽象方法:隻聲明但未實現的方法稱為抽象方法,使用abstract關鍵字聲明。
抽象類的定義及使用規則:


abstract class A{ // 是定義了一個抽象類 public static final String FLAG = "CHINA" ; // 全局常量 private String name = "XIAOWU" ; // 定義一個普通的屬性 public void setName(String name){ this.name = name ; } public String getName(){ return this.name ; } public abstract void print() ; // 定義抽象方法 };抽象類的子類覆寫抽象類中的抽象方法。
abstract class A{ // 是定義了一個抽象類 public static final String FLAG = "CHINA" ; // 全局常量 private String name = "XIAOWU" ; // 定義一個普通的屬性 public void setName(String name){ this.name = name ; } public String getName(){ return this.name ; } public abstract void print() ; // 定義抽象方法 }; class B extends A{ // 繼承抽象類,因為B是普通類,所以必須覆寫全部抽象方法 public void print(){ System.out.println("FLAG = " + FLAG) ; System.out.println("姓名 = " + super.getName()) ; } }; public class AbstractDemo02{ public static void main(String args[]){ B b = new B() ; b.print() ; } };
抽象類的思考:


abstract class A{ // 是定義了一個抽象類 public A(){ System.out.println("A、抽象類中的構造方法。") ; } }; class B extends A{ // 繼承抽象類,因為B是普通類,所以必須覆寫全部抽象方法 public B(){ super() ; System.out.println("B、子類中的構造方法。") ; } }; public class AbstractDemo03{ public static void main(String args[]){ B b = new B() ; } };
abstract class Person{ private String name ; // 定義name屬性 private int age ; // 定義age屬性 public Person(String name,int age){ this.name = name ; this.age = age ; } public void setName(String name){ this.name = name ; } public void setAge(int age){ this.age = age ; } public String getName(){ return this.name ; } public int getAge(){ return this.age ; } public abstract String getInfo() ; // 抽象方法 }; class Student extends Person{ private String school ; public Student(String name,int age,String school){ super(name,age) ; // 指定要調用抽象類中有兩個參數的構造方法 this.school = school ; } public void setSchool(String school){ this.school = school ; } public String getSchool(){ return this.school ; } public String getInfo(){ return "姓名:" + super.getName() + ";年齡:" + super.getAge() + ";學校:" + this.getSchool() ; } }; public class AbstractDemo04{ public static void main(String args[]){ Student stu = new Student("張三",30,"清華大學") ; System.out.println(stu.getInfo()) ; } };
最後更新:2017-04-03 15:21:51