Wat is de exacte betekenis van instantiëren in JAVA

Ik ben een nieuweling in JAVA en ik kwam dit woord tegen dat heet.
“Een klasse, d.w.z. gecreëerd binnen een methode, wordt in java lokale innerlijke klasse genoemd. Als je de methoden van de lokale innerlijke klasse wilt aanroepen, moet je deze klasse instantierenbinnen de methode”.
Het woord in vet.
Kan iemand me hier alsjeblieft mee helpen. Ik weet dat het beschamend is en ik had meer moeten onderzoeken, maar ik kan het gewoon niet begrijpen.
Bedankt.


Antwoord 1, autoriteit 100%

Allereerst Gemiddeld verklaren:

ClassName obj;

Eenvoudige betekenis van instantiëren is het maken van een object van klasse.

ClassName obj = new ClassName();

Wat is een object?

  • Een instantie van een klasse. Van één klasse kunnen we veel instanties maken.
  • Dit zijn de basis runtime-entiteiten in ons programma.
  • Ze kunnen ook door de gebruiker gedefinieerde gegevenstypen vertegenwoordigen, zoals lijsten en
    vectoren.
  • Elk programmeerprobleem wordt geanalyseerd in termen van objecten en aard van
    communicatie tussen hen.

Als voorbeeld:

//Define a reference(a variable) which can hold a `Person` obect.
Person p;
//Create a Person object(instantiate).
//new - use to allocate memory space for the new object
p = new Person();

Wat is een geneste klas?

Een klasse die binnen een klasse is gedefinieerd, wordt geneste klasse genoemd. Er zijn 2 categorieën geneste klassen.

  1. lokale klassen
  2. anonieme klassen

Innerlijke klasse:

  • De binnenste klasse is alleen toegankelijk voor de buitenste klasse. Niet door een ander
    klas.
  • Innerlijke klasse is lid van buitenste klasse.
  • Buitenklasse heeft toegang tot binnenklasse zonder te importeren.
  • Inner class heeft toegang tot elk attribuut of een methode die bij outer hoort
    rechtstreeks.
  • Buitenklas heeft geen directe toegang tot een binnenklas.

Voorbeeld voor een innerlijke klas:

class Outer{
   int i = 10;
   void main(){
      //instantiate inner class.
      Inner in = new Inner();
      in.show();
   }
   class Inner{
      void show(){
         System.out.print(i);
      }
   }
}

Wat is een lokale les?

Dit zijn klassen die in een blok zijn gedefinieerd.

Voorbeeld:

public class{
  int i = 10;
  public main(){
     class A{
        void show(){
          System.out.println(i);
        }
     }
     //inside the method instantiate local class.
     A obj = new obj();
     obj.show();
  }
  //outside the main() -block(method)
  //inside another method instantiate local class.
  public test(){
    A obj = new A();
    obj.show();
  }
}

Antwoord 2, autoriteit 55%

Een klasse instantiëren betekent een instantie van de klasse maken. Met andere woorden, als je een klas als deze hebt:

public class Dog {
    public void bark() {
        System.out.println("woof");
    }
}

Je zou het als volgt instantiëren:

Dog myDog = new Dog();

Instantiëren is wanneer u het trefwoord newgebruikt om daadwerkelijk een object van uw klasse te maken.


Antwoord 3, autoriteit 45%

Instantiëren == maak een instantie == maak een object van een klasse.


Antwoord 4, autoriteit 27%

Instantiate maakt een instantie van een klasse. Ik denk dat dit niet nuttig is zonder te weten wat een instantie is.

Stel dat je een klassedefinitie hebt zoals:

public class Person
{
    private String name;
    public Person(String name) 
    {
        this.name = name;
    }
    public String getName()
    {
        return name;
    }
}

Je maakt een instantie van deze klasse door de constructor ervan aan te roepen en het trefwoord newte gebruiken:

Person p = new Person("Hugh Laurie");

Een instantie van een klasse is een plaats in het geheugen die de status bevat (bijv. Person::name) van een bepaald object dat als sjabloon een klassedefinitie heeft gebruikt.

Ik wil verder uitbreiden over:

Als je de methoden van de lokale innerlijke klasse wilt aanroepen, moet je deze klasse instantiëren

Dit betekent dat je die klasse moet hebben geïnstantieerd om de bovenstaande voorbeeldmethode getName()te gebruiken. Het probeert tenslotte toegang te krijgen tot de status (name) van een bepaald object in het geheugen; zonder dat object is er geen staat.


Antwoord 5, autoriteit 27%

Instantiëren in Java betekent het aanroepen van een constructorvan een klasse die een instantie of object van het type van die klasse creëert. Instantiation wijst het initiële geheugen toevoor het object en retourneert een referentie. Een instantie is vereist voor niet-statische methoden, omdat deze kunnen werken op de niet-statische velden die door de constructor zijn gemaakt.

Statische methoden hebben geen instantie nodig en mogen niet stateful zijn, d.w.z. mogen niet afhankelijk zijn van veranderende gegevens. Het zijn in wezen gratis functies die zijn gekoppeld aan het type en niet aan een bepaalde instantie. Als u met veranderende gegevens wilt werken, is het inkapselen van die gegevens als lidvelden die worden beheerd door instantiemethodende beste keuze.

Een Car-klasse kan bijvoorbeeld statische numbeOfWheels() hebben die altijd 4 retourneert, maar een instantie numberOfFlatTires() die 0-4 kan retourneren, afhankelijk van de staat van die specifieke auto.

Innerlijke klassen zijn niet anders en het enige verschil tussen een statische en niet-statische binnenklasse is dat de niet-statische de leden van de bovenliggende instantie kan gebruiken. Dit kan worden gebruikt om de complexiteit te verminderen. Mogelijk hebt u een lusbewerking met een gemeenschappelijke parameter voor de lijst en een afzonderlijke parameter voor de items. Je zou een niet-statische interne klasse kunnen gebruiken om de bewerkingen op het item in te kapselen terwijl je verwijst naar de algemene parameter in de bovenliggende klasse.

Enums zijn speciaal omdat elke waarde een enkele instantie is van een enkel type dat allemaal uitgaat van een gemeenschappelijke abstracte basisklasse die is gedefinieerd in de hoofdtekst van de Enum-klasse. De Enum-waarde wordt geïnstantieerd wanneer deze voor het eerst wordt gebruikt, maar er zal slechts één instantie per waarde zijn.


Antwoord 6, autoriteit 18%

wanneer u een instantie van een klasse maakt of gewoon als een object wordt aangeroepen

bijvoorbeeld: Fiets abc = nieuwe fiets();

zodra u dit object maakt met het nieuwe trefwoord, wordt een nieuw geheugenblok gemaakt en object “abc” verwijst nu naar dat nieuwe geheugenblok, dit wordt in Java instantiatie genoemd.


Antwoord 7, autoriteit 9%

maak een instantie van de klasse door het “nieuwe” woord te gebruiken

bijvoorbeeld Car car = new Car();

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes