Inhoudsopgave:
Video: SCP-1730 What Happened to Site-13? Part 1 | euclid | building scp 2024
Met dit onderwerp kun je helemaal in de terminologie verwikkeld raken, dus je moet wat basiszaken uit de weg ruimen. Hier is een nepstuk van Java-code als voorbeeld:
klasse MyClass {int myField; // een veld // (een lid) void myMethod () {// een methode (een ander lid) int myOtherField; // een methode-lokale variabele // (GEEN lid)}}
De opmerkingen aan de rechterkant van de code vertellen het hele verhaal. Er bestaan hier twee soorten variabelen: velden en methode-lokale variabelen. Dit voorbeeld gaat niet over methode-lokale variabelen. over methoden en velden.
Het is niet gemakkelijk om de uitdrukking "methoden en velden" overal mee naartoe te nemen. Het is veel beter om deze dingen één naam te geven en ermee klaar te zijn Daarom worden beide methoden en velden leden van een klasse genoemd.
Leden versus klassen
Op dit moment maakt u een belangrijk onderscheid. Denk aan het openbare zoekwoord van Java. Zoals u wellicht al weet, je kunt publiek in fr plaatsen ont van een lid. U kunt bijvoorbeeld
openbare static void main (String args []) {
of
public amountInAccount = 50. 22;
Dit gebruik van het openbare sleutelwoord is geen grote verrassing. Wat u misschien nog niet weet, is dat u het openbare zoekwoord voor een klas kunt plaatsen. U kunt bijvoorbeeld
openbare -klasse Tekening schrijven {// Uw code wordt hier}
In Java heeft het openbare zoekwoord twee enigszins verschillende betekenissen - één betekenis voor leden en een andere betekenis voor klassen.
Toegangsmodificaties voor leden
Natuurlijk gaat dit gedeelte over leden. Maar dat betekent niet dat je Java-klassen kunt negeren. Leden of niet, de Java-klasse is nog steeds waar alle actie plaatsvindt. Elk veld wordt gedeclareerd in een bepaalde klasse, hoort bij die klasse en is een lid van die klasse.
Hetzelfde geldt voor methoden. Elke methode wordt gedeclareerd in een bepaalde klasse, hoort bij die klasse en is een lid van die klasse. Kun je een bepaalde lidnaam op een bepaalde plaats in je code gebruiken? Om te beginnen met het beantwoorden van de vraag, controleert u of die plaats zich binnen of buiten de klasse van het lid bevindt:
Als het lid privé is, kan alleen de code die zich binnen de klasse van het lid bevindt, rechtstreeks verwijzen naar de naam van dat lid.
klasse SomeClass {private int myField = 10;} class SomeOtherClass {public static void main (String args []) {SomeClass someObject = new SomeClass (); // Dit werkt niet: systeem. uit. println (someObject. myField);}}
Als het lid openbaar is, kan elke code rechtstreeks verwijzen naar de naam van dat lid.
klasse SomeClass {public int myField = 10;} class SomeOtherClass {public static void main (String args []) {SomeClass someObject = new SomeClass (); // Dit werkt: Systeem.uit. println (someObject. myField);}}
Deze figuren illustreren de ideeën op een enigszins andere manier.
Verschillende klassen en hun subklassen. Het bereik van code waarin een openbaar veld of een openbare methode kan worden gebruikt (gearceerd). Het bereik van de code waarin een privéveld of -methode kan worden gebruikt (gearceerd).