Video: Function program in java example 2024
En abstrakt klass i Java är en klass som innehåller en eller flera abstrakta metoder , som helt enkelt är metoddeklarationer utan en kropp - det vill säga utan körbar kod som implementerar klassen eller metoden. En abstrakt metod är som en prototyp för en metod, som förklarar metodens returtyp och parameterlista men som inte ger ett verkligt genomförande av metoden.
Du kan inte ordna en abstrakt klass. Du kan dock skapa en underklass som sträcker en abstrakt klass och ger en implementering av abstrakta metoder som definieras av abstraktklassen. Du kan instansera underklassen.
För att skapa en abstrakt metod, anger du modifieringen abstrakt och ersätter metalkroppen med en semikolon:
Metod för namn för offentlig abstrakt retur-typ (parameterlista);
Här är ett exempel:
public abstract int hit (int batSpeed);
För att skapa en abstrakt klass använder du abstraktet på klassdeklarationen och innehåller minst en abstrakt metod. Till exempel:
public abstract class Ball {public abstract int hit (int batSpeed);}
Du kan skapa en underklass från en abstrakt klass så här:
offentlig klass BaseBall förlänger Ball {public int hit (int batSpeed) {// kod som implementerar hitmetoden går här}}
När du klassificerar en abstrakt klass måste underklassen ge en genomförande för varje abstrakt metod i abstraktklassen. Med andra ord måste det överväga varje abstrakt metod.
Abstrakta klasser är användbara när du vill skapa en generisk typ som används som superklass för två eller flera underklasser, men superklassen själv representerar inte ett verkligt objekt. Om alla anställda antingen är tjänstemän eller timma, är det till exempel vettigt att skapa en abstrakt Medarbetarklass och sedan använda den som basklass för underklasserna SalariedEmployee och HourlyEmployee.
Här är några ytterligare detaljer om abstrakta klasser:
-
Inte alla metoder i abstrakt klass måste vara abstrakta. En klass kan ge ett genomförande för några av dess metoder men inte andra. Faktum är att även om en klass inte har några abstrakta metoder kan du fortfarande förklara det som abstrakt. (I så fall kan klassen inte instanseras.)
-
En privat metod kan inte vara abstrakt. Alla abstrakta metoder måste vara offentliga.
-
En klass kan inte vara både abstrakt och slutlig.