Java抽象類與普通類有以下區別:
實例化:抽象類不能被實例化,即不能創建抽象類的對象,而普通類可以被實例化。
繼承:子類繼承抽象類時,必須實現抽象類中的所有抽象方法,或者子類也聲明為抽象類,而普通類的繼承沒有這個限制。
方法:抽象類可以包含抽象方法和非抽象方法,普通類只能包含非抽象方法。
特性:抽象類是用來作為其他類的基類,它不能直接使用,而普通類是用來創建對象的。
多態性:抽象類可以作為多態的類型,即可以用抽象類的引用變量指向其子類的對象,而普通類不具備這個特性。
總的來說,抽象類主要用于定義子類的共同行為和屬性,強制子類進行實現;而普通類則用于創建對象和封裝具體的業務邏輯。