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