En Java: quina diferència hi ha entre la classe final i la (classe abstracta sense mètodes abstractes)?


Resposta 1:

TLDR;

Una classe final és, com diu, la final. Vol dir que no es pot ampliar, no hi ha subclasse i que el seu comportament és final i no es pot modificar.

D'altra banda, s'ha d'heretar una classe abstracta. Defineix el comportament general o general de les seves classes infantils. La seva subclasse definirà llavors el comportament "lleugerament" diferent. Tanmateix, una classe abstracta sense mètode abstracte no té sentit perquè vol dir que ja està definint un comportament complet. Fins i tot, podeu eliminar l’abstracte de la paraula clau de la declaració de classe si cap mètode no es declara abstracte.


Resposta 2:

La classe abstracta i els mètodes abstractes són conceptes independents. Tot i que una classe abstracta no té mètodes abstractes, encara s’apliquen regles aplicables a la classe abstracta.

Encara no es pot iniciar la classe abstracta. Una classe ha d’heretar la classe abstracta per tal de fer ús de qualsevol del seu cos i implementació. La classe final, en canvi, se suposa que està instantània i no es pot ampliar més.


Resposta 3:

La classe abstracta i els mètodes abstractes són conceptes independents. Tot i que una classe abstracta no té mètodes abstractes, encara s’apliquen regles aplicables a la classe abstracta.

Encara no es pot iniciar la classe abstracta. Una classe ha d’heretar la classe abstracta per tal de fer ús de qualsevol del seu cos i implementació. La classe final, en canvi, se suposa que està instantània i no es pot ampliar més.


Resposta 4:

La classe abstracta i els mètodes abstractes són conceptes independents. Tot i que una classe abstracta no té mètodes abstractes, encara s’apliquen regles aplicables a la classe abstracta.

Encara no es pot iniciar la classe abstracta. Una classe ha d’heretar la classe abstracta per tal de fer ús de qualsevol del seu cos i implementació. La classe final, en canvi, se suposa que està instantània i no es pot ampliar més.