Op Java, statisch is een trefwoord dat kan worden gebruikt met variabelen, klassen, blokken en methoden. Wanneer we het statische trefwoord vóór een van deze gebruiken, betekent dit dat het opgegeven lid tot een type zelf behoort. Met andere woorden: er wordt een exemplaar van een statisch lid gemaakt en gedeeld met alle exemplaren van de klasse.
In deze sectie zullen we gebruiken statisch trefwoord met de Java-klasse en ook begrijpen waarom gebruiken we een statische klasse?
Statische Java-klasse
We kunnen een klasse statisch verklaren door het trefwoord static te gebruiken. Een klasse kan alleen statisch worden verklaard als deze a is geneste klasse . Er is geen enkele verwijzing naar de buitenste klasse vereist. De eigenschap van de statische klasse is dat deze ons geen toegang geeft tot de niet-statische leden van de buitenste klasse.
Om het concept van statische klasse te begrijpen, moeten we eerst het concept van begrijpen innerlijke buitenste, En genest klas.
Innerlijke klasse
De klassen die niet-statisch en genest zijn, worden aangeroepen innerlijke klassen . Merk op dat we geen instantie van de binnenste klasse kunnen maken zonder een instantie van de buitenste klasse te maken. Zonder de verwijzing naar de instantie van de buitenste klasse te gebruiken, heeft een instantie van de binnenste klasse toegang tot de leden van zijn buitenste klasse. Het maakt het programma eenvoudig en beknopt.
Buitenste klasse
De klasse waarin de geneste klasse is gedefinieerd, wordt aangeroepen buitenste klasse .
Geneste klasse
Java stelt ons in staat een klasse te definiëren binnen een klasse die bekend staat als a geneste klasse . Het kan statisch of niet-statisch zijn. Het belangrijkste verschil tussen statische en niet-statische klasse is dat:
- Een exemplaar van de statische geneste klasse kan worden gemaakt zonder een exemplaar van de buitenste klasse te maken.
- De statische en niet-statische leden van een buitenste klasse zijn toegankelijk voor een binnenste klasse.
- De statische leden van de buitenste klasse zijn alleen toegankelijk voor de statische klasse.
Herinneren
- Alle statische klassen zijn geneste klassen, maar omgekeerd is dit niet waar.
- Het heeft alleen toegang tot statische leden van de buitenste klasse.
- Niet-statische variabelen- en instantiemethoden zijn niet toegankelijk binnen de statische klasse. Als u probeert toegang te krijgen tot een niet-statische referentie vanuit een statisch veld, wordt er een foutmelding gegenereerd: Kan geen statische verwijzing maken naar het niet-statische veld.
- We kunnen statische blokken, variabelen en methoden maken binnen een statische klasse.
- Een klasse kan meerdere statische klassen hebben.
- We hebben geen toegang tot de statische klasse als deze zich binnen het statische blok bevindt.
- Er kan een willekeurig aantal statische klassen binnen een statische klasse zijn.
Voorbeeld van een Java-statische klasse
JavaStaticClassExample.java
public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } }
Uitgang:
Javatpoint
Waarom gebruiken we statische klasse in Java?
In Java wordt het statische trefwoord voornamelijk gebruikt voor geheugenbeheer. We kunnen het statische trefwoord gebruiken met variabelen, methoden, blokken en klassen. Het gebruik van de statische klasse is een manier om klassen te groeperen. Het wordt ook gebruikt om toegang te krijgen tot het primitieve lid van de omsluitende klasse via de objectreferentie. De statische klassen worden door de classloader geladen op het moment van het eerste gebruik, maar niet wanneer de omsluitende klasse wordt geladen.