Zephyrnet-logo

Toegang tot modifiers in Java – 2023

Datum:

Inhoudsopgave

Wanneer u de wereld van Java-programmeren betreedt, is het begrijpen van het gebruik van toegangsmodifiers een belangrijke fundamentele vaardigheid. Met deze eenvoudige maar krachtige tools kunt u bepalen wie verschillende delen van uw code kan gebruiken of wijzigen, zodat u uw projecten georganiseerd en veilig kunt houden.

In deze blogpost, “Toegangsmodifiers in Java: een eenvoudige handleiding”, leggen we de basisprincipes van toegangsmodifiers op een eenvoudige en gemakkelijk te begrijpen manier uit. Of u nu net begint of uw kennis wilt opfrissen, deze handleiding helpt u bij het navigeren door de verschillende soorten toegangsmodifiers en hoe u deze effectief kunt gebruiken in uw Java-programma's.

Toegangsmodificaties zijn objectgeoriënteerd programmeren dat wordt gebruikt om de toegankelijkheid van klassen in te stellen, constructeurs, methoden en andere leden van Java.
Met behulp van de toegangsmodifiers kunnen we de reikwijdte of toegankelijkheid van deze klassen, methoden, constructors en andere leden instellen. 

JAVA heeft twee soorten modifiers: toegang tot modificatoren en niet-toegangsmodificatoren.

Wat zijn toegangsmodificatoren?

Toegangsmodificatoren zijn trefwoorden die kunnen worden gebruikt om de zichtbaarheid van velden, methoden en constructors in een klasse te bepalen. De vier toegangsmodificatoren in Java zijn openbaar, beschermd, standaard en privé.

Vier soorten toegangsmodificatoren

  • Privé: We hebben toegang tot de privé-modificator alleen binnen dezelfde klas en niet van buiten de klas.
  • Standaard: We hebben toegang tot de standaard modificatie alleen binnen hetzelfde pakket en niet van buiten het pakket. En als we geen toegangsmodifier specificeren, zal deze deze automatisch als standaard beschouwen.
  • Beveiligd: We hebben toegang tot de beschermde modifier binnen hetzelfde pakket en ook van buiten het pakket met behulp van de child-klasse. Als we de kinderklasse niet maken, hebben we er geen toegang toe buiten het pakket. Overerving is dus een must als u er van buiten het pakket toegang toe wilt hebben.
  • Openbaar: we hebben overal toegang tot de openbare modifier. We hebben toegang tot openbare modifiers zowel binnen de klasse als van buiten de klasse en ook binnen het pakket en buiten het pakket.

Bekijk voor een opfrisser deze gratis cursus op Java-programmering. Na voltooiing verdient u ook een certificaat waarmee u zeker een voorsprong krijgt in de competitieve ruimte.

Moet Java-concepten leren

Laten we eens kijken aan welke alle leden van Java de toegangsmodifiers kunnen worden toegewezen:

Leden van JAVA Privé Standaard Beschermd Publieke
Klasse Nee Ja Nee Ja
Veranderlijk Ja Ja Ja Ja
Methode Ja Ja Ja Ja
Constructeur Ja Ja Ja Ja
interface Nee Ja Nee Ja
Initialisatieblok NIET TOEGESTAAN

Laten we nu de reikwijdte hiervan begrijpen toegang tot modificatoren met behulp van een tabel:

Toegankelijkheid Privé Standaard Beschermd Publieke
Hetzelfde pakket Zelfde klas Ja Ja Ja Ja
Zonder erfenis Nee Ja Ja Ja
Met erfenis Nee Ja Ja Ja
Ander pakket Zonder erfenis Nee Nee Nee Ja
Met erfenis Nee Nee Ja Ja

Laten we het met meer details begrijpen:

Controleer ook Top Java-interviewvragen en antwoorden voor eerstejaarsstudenten

Modificatie voor privétoegang

  • De privétoegangsmodifier wordt gespecificeerd wanneer een lid van een klasse wordt voorafgegaan door de privé trefwoord. In vergelijking met de andere toegangsmodificatoren is dit de meest beperkte toegangsmodificator. 
  • Wanneer de methoden of gegevensleden worden voorafgegaan door a privaat access modifier, de zichtbaarheid van deze methoden en gegevensleden is beperkt zodat ze toegankelijk zijn alleen binnen dezelfde klasse waar ze zijn aangegeven, ze zullen niet zichtbaar zijn voor de buitenwereld. 
  • Als we nog een andere klasse uit hetzelfde pakket hebben, hebben we geen toegang tot deze methoden of gegevensleden. Normaal gesproken behouden we de klassenvariabelen en -methoden als privaat, die bedoeld zijn om te worden gebruikt binnen dezelfde klasse waar aangegeven.  

Laten we een voorbeeld bekijken waarin we twee klassen A1 en A2 binnen hetzelfde pakket p1 zullen beschouwen. We zullen een variabele en een methode als privé declareren in klasse A1 en vervolgens proberen toegang te krijgen tot deze methoden en variabelen vanuit klasse A2. 

Dus hier zullen we de tijdfout compileren.

Laten we eens kijken voor een particuliere constructeur:

Als we een klassenconstructor privé maken, kunnen we de instantie van die klasse niet van buiten de klasse creëren, en daarom kunnen we vanaf hier concluderen dat de modificator voor privétoegang is alleen toegankelijk binnen dezelfde klasse en niet van buiten de klas.

Standaardtoegangsmodificator

  • Het is geen trefwoord. Alle Java-leden, zoals klassen, methoden of gegevensleden, worden standaard beschouwd als ze niet zijn gespecificeerd met een toegangsmodificator standaard toegangsmodificatoren.  Deze methoden of gegevensleden zijn dat wel alleen toegankelijk binnen hetzelfde pakket en ze zijn niet toegankelijk van buiten het pakket. Het biedt meer zichtbaarheid dan een modifier voor privétoegang. Maar deze toegangsmodifier is beperkter dan beschermde en publieke toegangsmodifiers.

Laten we een voorbeeld bekijken voor de standaardtoegangsmodifier.

Hier hebben we twee verschillende pakketten p1 en p2. In het p1-pakket hebben we klasse A1 waarin we een standaardvariabele en een standaardmethode hebben gedeclareerd. Nu proberen we toegang te krijgen tot deze variabele en methode van buiten het pakket dat uit pakket p2 komt en een klasse A2 heeft. 

Wanneer we van buiten het pakket toegang proberen te krijgen tot deze variabelen en methoden, krijgen we een compilatietijdfout.

Daarom concluderen wij dat de standaardtoegangsmodificatieleden is alleen toegankelijk binnen hetzelfde pakket en niet van buiten het pakket. En ze hebben meer zichtbaarheid dan modifiers voor privétoegang, maar zijn beperkter dan beschermde en publieke toegangsmodifiers.

Beschermde toegangsmodificator

  • Het is een trefwoord. Deze toegangsmodificator wordt gebruikt om toegang te krijgen tot de methoden of gegevensleden van een klasse binnen hetzelfde pakket net zoals buiten het pakket maar alleen door erfenis. De beschermde toegangsmodificator heeft meer toegankelijkheid dan privé- en standaardtoegangsmodificatoren. Maar het heeft minder zichtbaarheid dan de modifier voor openbare toegang.

Laten we een voorbeeld bekijken van een beschermde toegangsmodificator. 

Hier hebben we twee pakketten p1 en p2. In pakket p1 hebben we klasse A1 waarin we een beschermde testmethode hebben verklaard. In pakket p2 erven we de leden van klasse A1 binnen klasse A2 met behulp van het uitbreiden van trefwoorden en het creëren van een relatie tussen de twee klassen. We kunnen ook zeggen dat klasse A1 respectievelijk de bovenliggende klasse of de superklasse is en dat klasse A2 respectievelijk de kindklasse of de subklasse is.

Wanneer we de leden van klasse A1 erven binnen klasse A2, met behulp van a beschermde toegangsmodificator we hebben toegang tot de leden van klasse A1 van pakket p1 vanaf klasse A2 van de verschillende pakketten p2.

Dus hier krijgen we de uitvoer als Hallo, ik ben van een beschermde methode. 

Daarom kunnen we concluderen dat de methoden, variabelen en gegevensleden van een klasse voorafgegaan door a beschermde toegangsmodificator is toegankelijk binnen de hetzelfde pakket maar ook toegankelijk vanaf buiten het pakket maar alleen met behulp van erfenis.

Modificatie voor openbare toegang

Het is een trefwoord. Als een klasselid, zoals variabele, methode of gegevensleden, wordt voorafgegaan door een modifier voor openbare toegang, dan zijn ze overal binnen het programma toegankelijk. Dat wil zeggen dat ze zowel binnen dezelfde klasse als buiten de verschillende klassen toegankelijk zijn. 

Het omvat ook toegang binnen hetzelfde pakket en ook van buiten het pakket. De leden zoals variabelen, methoden en andere gegevensleden zijn wereldwijd toegankelijk. 

Met behulp van openbare toegangsmodificatoren kunnen we de leden op de meest eenvoudige manier toegang verlenen. Er zijn geen beperkingen voor modifier-leden voor openbare toegang. Daarom heeft het de grootste toegankelijkheids- of zichtbaarheidsscope in vergelijking met de rest van de toegangsmodificatoren.

Laten we nu een voorbeeld bekijken van een modifier voor openbare toegang.

In dit voorbeeld hebben we twee verschillende pakketten p1 en p2. In p1 hebben we een klasse a1 waarin we een variabele hebben gedeclareerd en een methode voorafgegaan door een openbaar trefwoord. En in het p2-pakket hebben we een klasse A2 van waaruit we proberen toegang te krijgen tot de leden van klasse A1 zonder overerving.

Hier krijgen we de uitvoer als 10 en Hallo, ik ben van de openbare methode.

Dus uit het bovenstaande voorbeeld kunnen we dat concluderen modificator voor openbare toegang leden zijn overal toegankelijk, zowel binnen dezelfde klas als van buiten de klas. En is ook toegankelijk binnen hetzelfde pakket en ook van buiten een pakket.

NOTITIE: Als een andere ontwikkelaar jouw klasse gebruikt, probeer dan de meest beperkte toegangsmodifier te gebruiken. En probeer waar nodig ook een privétoegangsmodificator te gebruiken.

Een algemene toegankelijkheid:

privaat

JAVA-toegangsmodificatoren met methode-overschrijving

Wanneer een methode wordt overschreven, mag de methode die wordt overschreven niet beperkend zijn.

Bijvoorbeeld:

In het bovenstaande voorbeeld is de testmethode in klasse A2 overschreven. Maar de subklassemethode moet dezelfde zichtbaarheid of meer zichtbaarheid hebben dan de superklassemethode. Omdat de subklassemethode minder reikwijdte heeft dan de superklassemethode, krijgen we een compileerfout.

Het deelnemen aan de studie van Java-programmeren duidt op een grote interesse in het domein van softwareontwikkeling. Voor degenen die aan deze reis beginnen met ambities voor een carrière op dit gebied, wordt aanbevolen om de volgende pagina's te verkennen om een ​​uitgebreid inzicht te krijgen in het ontwikkelingsloopbaanpad:

Toegang tot Modifier in veelgestelde vragen over Java

Wat zijn de toegangsmodifiers in Java?

Toegangsmodificatoren in Java zijn trefwoorden die de zichtbaarheid en toegankelijkheid van klassen, velden, methoden en constructors in objectgeoriënteerd programmeren bepalen. Ze bepalen welke delen van een klasse toegankelijk zijn vanuit andere klassen of pakketten.

Wat zijn de 4 soorten Java-toegangsmodifiers en hoe verschillen ze?

Er zijn vier hoofdtypen toegangsmodifiers in Java:
Openbaar: Zorgt ervoor dat de klasse, het veld, de methode of de constructor toegankelijk is vanuit elke andere klasse in elk pakket. Er zijn geen toegangsbeperkingen.
beveiligd: Staat toegang toe vanuit dezelfde klasse, elke subklasse binnen hetzelfde pakket en elke subklasse in een ander pakket. Voor niet-subklassen in verschillende pakketten is de toegang echter beperkt.
Standaard (pakket-privé): Als er geen toegangsmodifier is opgegeven, wordt deze als standaard beschouwd. Het biedt alleen toegang binnen hetzelfde pakket.
private: Beperkt de toegang tot alleen dezelfde klasse. Leden die als privé zijn gemarkeerd, zijn niet toegankelijk van buiten de klas.

Wat zijn toegangsmodifiers met voorbeelden?

Hier zijn voorbeelden van toegangsmodificatoren in Java:
// Modificatie voor openbare toegang
openbare klasse PublicClass {
publiek int publicField;
public void publicMethod() {
// codeer hier
}
}
// Beschermde toegangsmodificator
beschermde klasse BeschermdeKlasse {
beschermd int protectedField;
beschermde leegte beschermdMethode() {
// codeer hier
}
}
// Standaardtoegangsmodificator (pakket-privé).
klasse StandaardKlasse {
int standaardveld;
void standaardMethod() {
// codeer hier
}
}
// Modificatie voor privétoegang
klasse PrivéKlasse {
private int privateField;
private void privateMethod() {
// codeer hier
}
}

Wat is een toegangsmodificator?

Een toegangsmodifier is een trefwoord in objectgeoriënteerde programmeertalen zoals Java dat de reikwijdte en zichtbaarheid van klassen, methoden, velden en constructors binnen een programma definieert. Het bepaalt hoe deze elementen toegankelijk zijn vanuit verschillende delen van het programma, zoals andere klassen of pakketten.

Wat zijn toegangsmodificatoren in OOP?

Toegangsmodificatoren in Object-Oriented Programming (OOP) bepalen de toegankelijkheid en zichtbaarheid van verschillende componenten van een klasse. Ze bieden controle over het niveau van inkapseling en interactie tussen verschillende delen van een programma, waardoor inkapseling en modulair ontwerp worden bevorderd.

Wat is privé versus beschermd versus openbaar?

private: Leden die als privé zijn gemarkeerd, zijn alleen toegankelijk binnen dezelfde klas. Ze zijn niet toegankelijk van buiten de klas. Het biedt het hoogste niveau van inkapseling.
beveiligd: Beschermde leden zijn toegankelijk binnen dezelfde klasse, subklassen binnen hetzelfde pakket en subklassen in verschillende pakketten. Het biedt meer toegankelijkheid dan privé, maar beperkt de toegang van niet-gerelateerde klassen.
Openbaar: Publieke leden zijn toegankelijk vanuit elke klasse en elk pakket. Er zijn geen toegangsbeperkingen. Het biedt de minste inkapseling.

Wat is beschermd versus privé?

Het belangrijkste verschil tussen beschermde en particuliere toegangsmodificatoren is het niveau van zichtbaarheid dat ze bieden:
beveiligd: Leden met beveiligde toegang zijn toegankelijk binnen dezelfde klasse, subklassen binnen hetzelfde pakket en subklassen in verschillende pakketten.
private: Leden met privétoegang zijn alleen toegankelijk binnen dezelfde klasse. Ze zijn niet toegankelijk vanuit subklassen of andere klassen.

Wat is een toegangsspecificatie?

Een toegangsspecificatie is een term die wordt gebruikt om het toegangsniveau van een klasselid (veld, methode, constructor) in objectgeoriënteerde programmeertalen te beschrijven. Het specificeert hoe het lid toegankelijk is en waar binnen het programma.

spot_img

VC Café

VC Café

Laatste intelligentie

spot_img