Java抽象類與普通類有以下區(qū)別:
實(shí)例化:抽象類不能被實(shí)例化,即不能創(chuàng)建抽象類的對(duì)象,而普通類可以被實(shí)例化。
繼承:子類繼承抽象類時(shí),必須實(shí)現(xiàn)抽象類中的所有抽象方法,或者子類也聲明為抽象類,而普通類的繼承沒(méi)有這個(gè)限制。
方法:抽象類可以包含抽象方法和非抽象方法,普通類只能包含非抽象方法。
特性:抽象類是用來(lái)作為其他類的基類,它不能直接使用,而普通類是用來(lái)創(chuàng)建對(duì)象的。
多態(tài)性:抽象類可以作為多態(tài)的類型,即可以用抽象類的引用變量指向其子類的對(duì)象,而普通類不具備這個(gè)特性。
總的來(lái)說(shuō),抽象類主要用于定義子類的共同行為和屬性,強(qiáng)制子類進(jìn)行實(shí)現(xiàn);而普通類則用于創(chuàng)建對(duì)象和封裝具體的業(yè)務(wù)邏輯。