De statische elektriciteit kan zijn:
- Statische variabelen
- Statische methoden
- Statische codeblokken.
Laten we eerst eens kijken naar statische variabelen en statische methoden.
Wat is een statische variabele in Java?
Statische variabele in Java is een variabele die tot de klasse behoort en slechts één keer wordt geïnitialiseerd aan het begin van de uitvoering. Het is een variabele die tot de klasse behoort en niet om bezwaar te maken (instantie). Statische variabelen worden slechts één keer geïnitialiseerd, aan het begin van de uitvoering. Deze variabelen worden eerst geïnitialiseerd, voordat de instantievariabelen worden geïnitialiseerd.
- Een enkele kopie die door alle instanties van de klas moet worden gedeeld
- Een statische variabele is rechtstreeks toegankelijk via de klassenaam en heeft geen object nodig
Syntaxis:
< class-name>.
Wat is de statische methode in Java?
Statische methode in Java is een methode die tot de klasse behoort en niet tot het object. Een statische methode heeft alleen toegang tot statische gegevens. Het is een methode die tot de klasse behoort en niet tot het object (instantie). Een statische methode heeft alleen toegang tot statische gegevens. Het heeft geen toegang tot niet-statische gegevens (instantievariabelen).
- Een statische methode kan alleen andere statische methoden aanroepen en kan er geen niet-statische methode van aanroepen.
- Een statische methode is rechtstreeks toegankelijk via de klassenaam en heeft geen object nodig
- Een statische methode kan sowieso niet verwijzen naar "dit" of "super" sleutelwoorden
Syntaxis:
< class-name>.
Opmerking: de hoofdmethode is statisch, aangezien deze toegankelijk moet zijn voordat een toepassing kan worden uitgevoerd voordat er een instantiatie plaatsvindt.
Laten we de nuances van de statische sleutelwoorden leren door enkele oefeningen te doen!
Voorbeeld: hoe statische variabelen en methoden worden aangeroepen
Stap 1) Kopieer de volgende code naar een editor
openbare les demo {public static void main (String args []) {Student s1 = nieuwe student ();s1.showData ();Student s2 = nieuwe student ();s2.showData ();//Student.b++;//s1.showData ();klas leerling {int een; // geïnitialiseerd op nulstatische int b; // alleen op nul geïnitialiseerd als de klasse is geladen, niet voor elk gemaakt object.Leerling(){// Constructor die statische variabele verhoogt bb ++;openbare leegte showData () {System.out.println ("Waarde van a =" + a);System.out.println ("Waarde van b =" + b);// public static void increment () {// a ++;
Stap 2) Bewaar en compileer de code. Voer de code uit als, java Demo .
Stap 3) De verwachte output wordt hieronder weergegeven
Het volgende diagram laat zien hoe referentievariabelen en objecten worden gemaakt en statische variabelen worden benaderd door de verschillende instanties.
Stap 4) Het is mogelijk om toegang te krijgen tot een statische variabele van buiten de klasse met behulp van de syntaxis ClassName.Variable_Name . Uncomment-regel # 7 & 8. Opslaan, compileren en uitvoeren. Bekijk de output.
Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3Stap 5) Uncomment regel 25,26 & 27. Opslaan, compileren en uitvoeren.
error: non-static variable a cannot be referenced from a static context a++;
Stap 6) Fout =? Dit komt omdat het niet mogelijk is om toegang te krijgen tot instantievariabele " a " van java static class-methode " increment ".
Wat is een statisch blok in Java?
Het statische blok is een instructieblok binnen een Java-klasse dat wordt uitgevoerd wanneer een klasse voor het eerst in de JVM wordt geladen. Een statisch blok helpt bij het initialiseren van de statische gegevensleden , net zoals constructeurs helpen bij het initialiseren van instantieleden.
class Test{static {//Code goes here}}
Het volgende programma is het voorbeeld van een java statisch blok.
Voorbeeld: toegang krijgen tot een statisch blok
openbare les demo {statische int a;statische int b;statisch {a = 10;b = 20;public static void main (String args []) {System.out.println ("Waarde van a =" + a);System.out.println ("Waarde van b =" + b);
je krijgt de volgende output van het programma.
Value of a = 10Value of b = 20