Java is een programmeertaal voor het eerst geïntroduceerd in 1995 door Sun Microsystems . Beide interfaces en abstracte klassen worden gebruikt in de Java-code bij verschillende subtypes van dezelfde klasse moeten zich anders gedragen . Abstracte klassen en interfaces werken zeer verschillend en worden op verschillende wijzen , hoewel er een aantal overeenkomsten tussen hen. Taal Abstract klassen en interfaces zorgen voor verschillende code worden gebruikt . Zo kan een abstracte klasse concrete klassen bevatten , terwijl een interface abstracte klassen kunnen bevatten . Een abstracte klasse is ook meer vocht dan een interface en kunnen velden die niet statisch of definitief zijn , terwijl een interface niet kan bevatten . Daarnaast is een abstracte klasse erft automatisch een objectklasse , betekenend omvat werkwijzen zoals " clone ( ) " en " gelijk aan ( ) , ' terwijl een interface kan omvatten deze methoden . Implemented Methoden Methoden van een abstracte klasse kan worden gedefinieerd met een verscheidenheid van zichtbaarheid parameters , waaronder openbare , beveiligde , particuliere of geen. Een interface kan alleen zichtbaar publiek . Dit betekent dat alle leden van een interface zijn openbaar standaard , terwijl de leden van een abstracte klasse kan niet- openbare leden of methoden . Optreden in het algemeen , interfaces werken een beetje langzamer dan abstracte klassen omdat ze introduceren een nieuwe klasse voor elke methode die wordt toegepast , en het kan extra tijd te nemen voor een interface om de juiste methode te vinden in elke klasse . Een abstracte klasse , daarentegen , kan een methode is voor verscheidene klassen tegelijkertijd , en dus sneller uitvoert . Echter , de meeste JVM ( Java Virtual Machines ) van van 2011 te compenseren voor het verschil , en deze prestaties verschillen zijn nauwelijks meer opgemerkt . Gebruik Een interface moet worden gebruikt wanneer uw script vraagt om uitvoering te bieden voor al uw methoden . Interfaces kunnen al uw klassen te bouwen back -up vanuit het niets op een systematische manier . Abstracte klassen moet worden gebruikt wanneer u een gedeeltelijke uitvoering van het script , maar het is niet geheel compleet . Laat deze onvolledige implementaties als ' abstract ' en laat een server om ze te interpreteren .
|