抽象類不一定有抽象方法,但有抽象方法的類一定是抽象類或者是介面;
抽象類無法進行例項化;(根據多型的方式,有具體的子類進行例項化)
抽象類的子類:
要麼是抽象類;要麼重寫抽象類中的所有抽象方法;
抽象類的成員特點:
1、成員變數:既可以是變數,也可以是常量。abstract不能修飾成員變數。
2、構造方法:有。
3、成員方法:既可以是抽象的,也可以是非抽象的。
為什麼要用抽象類?抽象方法?
強制子類對抽象方法進行重寫。
將乙個類定義成抽象類的意義是目的?
不讓其他類建立本類物件,交給子類完成。
abstract不能和哪些關鍵字共存?
介面:
介面不能被例項化。
介面中的變數都是常量、靜態、公開的。(例如:static public final int num=10;)
介面中沒有構造方法,介面中的成員方法都是抽象的
public class run
}inte***ce inter
class demo /*extends object*/ implements inter
public void print()
public void print2()
}
類與類,類與介面,介面與介面之間的關係:類與類:只能單繼承,可以多層繼承類與介面:實現關係,可以單實現,也可以多實現。並且還可以在繼承乙個類的同時實現多個介面介面與介面:繼承關係,可以單繼承,也可以多繼承
package inte***ce2;
public class run
}inte***ce inter1
inte***ce inter2
inte***ce inter3 extends inter1,inter2
class demo /*extends object*/ implements inter1,inter2
public void print2()
}
抽象類與介面的區別:
抽象類:成員變數:可以變數,也可以常量
成員方法:可以抽象也可以非抽象
構造方法:有
介面:成員變數:只可以是常量
成員方法:只可以是抽象的
Java 介面和抽象類
介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...
java抽象類和介面
抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...
Java抽象類和介面
含有abstract修飾符的class即為抽象類,abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete 子類中實現,所以...