Java Access Modifiers – Public, Private, Protected & Default

geplaatst in: Articles | 0

u moet publieke, private en beveiligde sleutelwoorden hebben gezien tijdens het oefenen van java-programma ‘ s, deze worden access modifiers genoemd. Een access modifier beperkt de toegang van een klasse, constructor, data lid en methode in een andere klasse. In java hebben we vier access modifiers:
1. standaard
2. privé
3. beschermd
4. public

Default access modifier

wanneer we geen access modifier noemen, wordt dit standaard access modifier genoemd., De reikwijdte van deze modifier is beperkt tot het pakket alleen. Dit betekent dat als we een klasse hebben met de standaard access modifier in een pakket, alleen die klassen die zich in dit pakket bevinden deze klasse kunnen benaderen. Geen enkele andere klasse buiten dit pakket heeft toegang tot deze klasse. Evenzo, als we een standaard methode of data lid in een klasse, het zou niet zichtbaar zijn in de klasse van een ander pakket. Laat een voorbeeld zien om dit te begrijpen:

Default Access Modifier Example in Java

om dit voorbeeld te begrijpen, moet u de kennis van pakketten in java hebben.,

in dit voorbeeld hebben we twee klassen, Test klasse probeert toegang te krijgen tot de standaard methode van toevoeging klasse, omdat klasse Test behoort tot een ander pakket, Dit programma zou gooien compilatiefout, omdat de reikwijdte van de standaard modifier is beperkt tot hetzelfde pakket waarin het wordt verklaard.
optelling.java

Test.java

uitvoer:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method addTwoNumbers(int, int) from the type Addition is not visibleat xyzpackage.Test.main(Test.java:12)

private access modifier

de reikwijdte van private modifier is beperkt tot de klasse alleen.,

  1. Private Data leden en methoden zijn alleen toegankelijk binnen de klasse
  2. klasse en Interface kan niet worden gedeclareerd als private
  3. als een klasse een private constructor heeft dan kunt u het object van die klasse niet maken van buiten de klasse.

laten we een voorbeeld bekijken om dit te begrijpen:

Private access modifier voorbeeld in java

dit voorbeeld geeft een compilatiefout omdat we proberen toegang te krijgen tot het private data lid en de methode van klasse ABC in het class voorbeeld. De private data lid en methode zijn alleen toegankelijk binnen de klasse.,

Output:

Compile - time error

Protected Access Modifier

Protected data member en method zijn alleen toegankelijk voor de klassen van hetzelfde pakket en de subklassen aanwezig in een pakket. U kunt ook zeggen dat de protected access modifier vergelijkbaar is met de standaard access modifier met één uitzondering dat het zichtbaarheid heeft in subklassen.
klassen kunnen niet beschermd verklaard worden. Deze access modifier wordt over het algemeen gebruikt in een ouder-kind relatie.,

Protected access modifier voorbeeld in Java

in dit voorbeeld kan de klasse Test die aanwezig is in een ander pakket deaddTwoNumbers() methode aanroepen, die beschermd is verklaard. Dit komt omdat de testklasse de toevoeging van klassen uitbreidt en de protected modifier de toegang van beschermde leden in subklassen (in alle pakketten) toestaat.
optelling.java

package abcpackage;public class Addition { protected int addTwoNumbers(int a, int b){return a+b; }}

Test.java

Output:

33

public access modifier

de leden, methoden en klassen die openbaar zijn verklaard, kunnen overal worden benaderd., Deze modifier legt geen enkele beperking op de toegang.

public access modifier voorbeeld in java

laten we hetzelfde voorbeeld nemen dat we hierboven hebben gezien, maar deze keer heeft de methode addTwoNumbers () public modifier en class Test is in staat om toegang te krijgen tot deze methode zonder zelfs de additie klasse uit te breiden. Dit komt omdat public modifier overal zichtbaar is.
optelling.java

package abcpackage;public class Addition { public int addTwoNumbers(int a, int b){return a+b; }}

Test.,java

uitvoer:

101

laat de scope van deze access modifiers in tabelvorm zien:

de scope van access modifiers in tabelvorm

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *