Java-klassen te definiëren objecten te gebruiken applicatie taken uit te voeren . Binnen Java projecten , programmeurs te definiëren deze objecten door het creëren van klasse declaraties . Een klasse verklaring beschrijft de eigenschappen een object instanties van de klasse zal hebben , alsmede methoden die hij zal uitvoeren . In de meeste gevallen , kunnen Java-programma's objecten van welke klassen met klasse verklaringen geschetste creëren . Indien een klasse abstract , kan niet gestart . Implementatie Normaal gesproken, als een programma bevat een klasse verklaring , andere code kan object instanties van de klasse geschetst binnen het te maken . Wanneer dit gebeurt , zal het resulterende object de gegevens vast te houden en de uitvoering van de binnen de klasse verklaring vermelde methoden . Wanneer een programma verklaart een klasse als abstract , kan dit niet gebeuren , als objecten van de klasse niet kan worden gemaakt . De volgende voorbeeldcode geeft aan waarbij een klasse als abstract : openbare abstracte klasse GreatHelper tegenstelling met niet - abstracte klassen , kan het project waarin deze code blijkt niet " GreatHelper " objectinstanties creëren < . br > Inheritance Hoewel programma's niet kunnen instantiëren abstracte klassen , kunnen ze uitbreiden . Java erfenis stelt programmeurs in staat om bestaande klasse verklaringen met de volgende syntaxis te breiden : public class SpecificHelper breidt GreatHelper Wanneer een klasse breidt andere klasse , erft de methoden en eigenschappen van de bovenliggende klasse . Uitbreiding klassen kunnen ook extra functionaliteit bovenop de superklasse geërfde variabelen en methoden . Overerving is dus een manier om gespecialiseerde functionaliteit te bieden , met subklassen gespecialiseerd in een ruimte van verantwoordelijkheid vallen meer in het algemeen door de bovenliggende klasse . Met een abstracte klasse , dit principe van overerving is ook van toepassing , dus subklassen van abstracte klassen kunnen worden geïnstantieerd , hoewel hun ouders niet kunnen. Doel Abstract klassen waarmee programmeurs definities voor sets van voorwerpen die zal een aantal gemeenschappelijke eigenschappen , maar ook een aantal verschillen te creëren . Abstracte klassen meestal slechts gedeeltelijk uitvoeren van hun verantwoordelijkheden , terwijl hun subklassen kan meer gedetailleerde uitvoering aangepast aan specifieke omstandigheden te bieden . Abstracte klassen kunnen zowel abstracte en non - abstracte methoden bevatten . Abstracte methoden kan alleen verschijnen binnen abstracte klassen , met de eis dat subklassen zullen implementeren deze methoden , tenzij ze ook zijn abstract . Alternatieven Het belangrijkste alternatief voor het maken van abstracte klassen in Java is het creëren van interfaces . Wanneer een programma bevat een interface , klasse declaraties deze interface implementeren , in plaats van zich als bij een abstracte klasse . Een interface functioneert als een contract , waarin de methoden die de uitvoering klassen moeten bieden , maar zonder enige bijzonderheden over de uitvoering zelf . Een interface kunt een lijst van methoden met behulp van alleen hun contouren , met de uitvoering van klassen die de methode details. De volgende voorbeeldcode geeft aan een klasse verklaring die een interface : public class SomeHelper breidt HelpfulOrganizer Binnen de interface verklaring , kan methode hoofdlijnen als volgt weergegeven: public String getWords ( ) ; tegenstelling tot abstracte klassen , interfaces kan geen enkele implementatie details . |