抽象類和和抽象方法的使用
什麼是抽象方法:使用abstract修飾的方法,沒有方法體,只有宣告,它定義的是一種規範,通過子類去具體實現
什麼是抽象類:包含抽象方法的類就是抽象類(普通類不能定義抽象方法)
package cn.com.qq;
public abstract class animal
public static void main(string args)
}class dog extends animal
}
抽象類需要注意的點:
1,有抽象方法的類只能定義成抽象類
2,抽象類不能例項化物件,也就是不能new
3,抽象類可以包含屬性,方法,構造方法,但是構造方法不能new,只能被子類來呼叫
4,抽象類只能用來被繼承
5,抽象方法必須被子類實現
介面的詳解
1,訪問修飾符:只能是public或者default
2,介面名:和類名採用相同機制
3,extends:介面可以多繼承
4,常量:介面中的屬性只能是常量,並且是public static final修飾,不寫也是
5,方法:被public abstract修飾,不寫也是
需要注意的有:
1,子類通過implements來實現介面
2,介面不能建立例項
3,乙個子類實現了介面,必須實現介面中所有的方法,並且這些方法只能是public的
4,jdk1.7之前,介面中只能包含靜態常量,抽象方法,不能有普通屬性,構造方法,普通方法
5,jdk1.8後,介面中包含普通的靜態方法
package cn.com.qq;
public inte***ce myinterfence
}class myclass implements myinterfence
public void test02()
}
package cn.com.qq;
public class testinterfence
}inte***ce volant
inte***ce honest
//實現多介面
class angel implements volant,honest
@override
public void helpother()
}class goodman implements honest
public void otherway()
}class birdman implements volant
}
package cn.com.qq;
public class testinterfence02
}inte***ce a
inte***ce b
//介面可以多繼承,類是單繼承的,也就是 單繼承,多介面
inte***ce c extends a,b
class mysublass implements c
@override
public void testb()
@override
public void testc()
}
抽象類和介面的使用
1.抽象類和介面是專案設計相關,不關心具體實現細節 2.介面可以多繼承 類只能單繼承 3.如果是 描述 則定義成類 如果是 功能擴充套件 則定義成介面 介面a 不能建立物件 如果要用某乙個方法還需要同時覆蓋其他所有的方法 inte ce a 用乙個類去 空實現 介面a裡的方法,然後再派生子類,就可以...
抽象方法 抽象類 介面 介面和抽象類的區別
某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...
介面,抽象類和抽象方法
1.定義介面 介面使用 inte ce 關鍵字宣告,它與類的宣告類似。介面宣告預設 是 public 的。通常介面命名已i字母開頭。inte ce 介面名 2.介面繼承介面 多個介面用,號進行區分 inte ce 介面名 繼承的介面名 3.類實現介面 訪問修飾符 class 類名 介面名 4.乙個類...