某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。
有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。
抽象方法和抽象類的規則:
public abstract class shape
private string color;
public string getcolor()
public void setcolor(string color)
//定義乙個計算周長的抽象方法
public abstract double cal();
//定義乙個返回形狀的方法
public abstract string gettype();
//定義shape的構造器,該構造器並不是用於建立shape物件
//而是用於被子類呼叫
public shape(string color)
}
public class ******** extends shape
public void setsides(double a,double b,double c)
this.a=a;
this.b=b;
this.c=c;
}@override
public double cal()
@override
public string gettype()
}
public class circle extends shape
public double getradius()
public void setradius(double radius)
@override
public double cal()
@override
public string gettype()
public static void main(string args)
}
抽象類的作用:抽象類是從多個具體的類中抽象出來的父類,為多個子類的通用模板,具有跟高層次的抽象,避免了子類設計的隨意性。
[修飾符] inte***ce 介面名 extends 父介面1,父介面2...
零個到多個常量定義
零個到多個抽象方法定義
零個到多個內部類、介面、列舉定義...
零個到多個私有方法、預設方法或類定義方法...
public inte***ce output
//在介面中定義類方法,需要使用static修飾
static string statictest()
//定義私有方法
static void foo()
//定義私有靜態方法
static void bar()
}
介面不能用於建立例項,但介面可以用於宣告引用型別變數。當使用介面來宣告引用型別變數時,這個引用型別變數必須引用到其實現類的物件。除此之外,介面的主要用途就是被實現類實現。介面用途如下:
public class printer implements output,product
} @override
public void getdata(string msg) else
} @override
public int getproducetime()
public static void main(string args)
}
介面,抽象類,抽象方法
一.抽象方法 1.用abstract修飾 2.沒有方法體 二.抽象類 1.含有抽象方法的類叫抽象類 抽象類無法建立物件,只有被繼承並且覆蓋重寫後 去掉抽象 才能使用 三.介面 1.抽象方法 2.常量,常量必須是final的,比如電源中引數不能夠改變 3.預設 方法公升級用 4.靜態方法和私有方法 介...
介面,抽象類和抽象方法
1.定義介面 介面使用 inte ce 關鍵字宣告,它與類的宣告類似。介面宣告預設 是 public 的。通常介面命名已i字母開頭。inte ce 介面名 2.介面繼承介面 多個介面用,號進行區分 inte ce 介面名 繼承的介面名 3.類實現介面 訪問修飾符 class 類名 介面名 4.乙個類...
抽象類,抽象方法和介面
抽象類 抽象類是一種模板模式,為所有子類提供乙個通用模板,子類可以在這個模板基礎上進行擴充套件。通過抽象類,可以避免子類設計的隨意性。通過抽象類,我們可以做到嚴格限制子類的設計,使子類之間更加通用。抽象類的要點 public abstract class animal class student e...