Wat is precies een instantie in Java?

Wat is het verschil tussen een object, instantie en referentie? Ze zeggen dat ze een instantie voor hun applicatie moeten maken? Wat betekent dat?


Antwoord 1, autoriteit 100%

Een object en een instantie zijn hetzelfde.

Persoonlijk gebruik ik liever het woord “instantie” wanneer ik naar een specifiek object van een specifiek type verwijs, bijvoorbeeld “een instantie van het type Foo”. Maar als ik het over objecten in het algemeen zou hebben, zou ik eerder “objecten” dan “instanties” zeggen.

Een verwijzing verwijst naar een specifiek object of het kan een nulverwijzing zijn.


Ze zeggen dat ze een instantie voor hun applicatie moeten maken. Wat betekent het?

Ze bedoelen waarschijnlijk dat je zoiets als dit moet schrijven:

Foo foo = new Foo();

Als je niet zeker weet welk type je moet instantiëren, neem dan contact op met de ontwikkelaars van de applicatie en vraag om een ​​vollediger voorbeeld.


Antwoord 2, autoriteit 17%

“instantie van een applicatie” betekent niets.

“object” en “instantie” zijn hetzelfde. Er is een “klasse” die de structuur en instanties van die klasse definieert (verkregen met new ClassName()). Er is bijvoorbeeld de klasse Car, en er zijn instanties met verschillende eigenschappen zoals kilometerstand, max. snelheid, pk, merk, enz.

Referentie is, in de Java-context, een variabele* – het is iets dat naar een object/instantie verwijst. Bijvoorbeeld, String s = null;sis een referentie, die momenteel niet verwijst naar een instantie, maar kan verwijzen naar een instantie van de klasse String.

*Jon Skeet maakte een opmerking over het verschil tussen een variabele en een referentie. Zie zijn opmerking. Het is een belangrijk onderscheid over hoe Java werkt wanneer u een methode aanroept – pass-by-value.

De waarde van s is een referentie. Het is erg belangrijk om onderscheid te maken tussen variabelen en waarden, en objecten en referenties.


Antwoord 3, autoriteit 11%

Wanneer u het trefwoord newgebruikt, bijvoorbeeld JFrame j = new JFrame();, maakt u een instantie van de klasse JFrame.

De operator newstart een
klasse door geheugen toe te wijzen voor een nieuwe
object en het retourneren van een verwijzing naar
die herinnering.
Opmerking:De zinsnede “een klas starten” betekent hetzelfde als
“het maken van een object.” Wanneer je creëert
een object, je maakt een
“instantie” van een klasse, daarom
een klas “instantiëren”.

Kijk hier
Objecten maken


De typen Java-programmering
taal zijn verdeeld in twee
categorieën: primitive typesen
referencetypen.
De referencetypen
zijn classtypen, interfacetypen, en
arraytypen.
Er is ook een speciale
nulltype.
Een object is een
dynamisch gecreëerde instantie van a
classtype of een dynamisch aangemaakt
array.
De waarden van een reference
type zijn verwijzingen naar objecten.

Raadpleeg Typen, waarden en variabelenvoor meer informatie


Antwoord 4, autoriteit 9%

Ik denk dat Object = Instantie. Verwijzing is een “link” naar een Object.

Car c = new Car();

variabele c slaat een verwijzing op naar een object van het type Auto.


Antwoord 5, autoriteit 7%

Het belangrijkste verschil is wanneer je zegt ClassName obj = null; je maakt gewoon een object voor die klasse. Het is geen instantie van die klasse.

Deze instructie zal alleen geheugen toewijzen voor de statische lidvariabelen, niet voor de normale lidvariabelen.

Maar als je zegt ClassName obj = new ClassName(); je maakt een instantie van de klasse. Deze status zal geheugen toewijzen aan alle lidvariabelen.


Antwoord 6, autoriteit 7%

Computer c= new Computer()

Hier wordt een object gemaakt van de klasse Computer. Een referentie met de naam c geeft de programmeur toegang tot het object.


Antwoord 7, autoriteit 5%

In principe zijn object en instantie de twee woorden die door elkaar worden gebruikt.
Een klasse is een sjabloon voor een object en een object is een instantie van een klasse.


Antwoord 8

“een instantie van een klasse maken”, wat dacht je van, “je neemt een klas en maakt een nieuwe variabele van die klasse die ZAL veranderen afhankelijk van een invoer die verandert”

Klas in de bibliotheek genaamd Nacho

variabele Libre om de “instantie” die zal veranderen vast te houden

Nacho Libre = new Nacho(Variable, Scanner Input, of wat hier ook hoort. Dit is de plaats waar de wijzigingen worden geaccepteerd en plaatst vervolgens de waarde in “Libre” aan de linkerkant van het gelijkteken (je weet wel “Nacho Libre = new Nacho(Scanner.in)” “Nacho Libre” staat aan de linkerkant van de = (dat is geen tech talk, dat is mijn manier om het uit te leggen)

Ik denk dat dat beter is dan ‘instantie van type’ of ‘instantie van klasse’ te zeggen. Het punt is dat het gewoon meer gedetailleerd moet worden … “instantie van type of klasse” is niet goed genoeg voor de beginner … wauw, het is als een tongbreker en je hersenen kunnen zich niet concentreren op tongbrekers heel goed …. dat woord “instantie” is erg vervelend en alleen al het geluid ervan maakt me gek …. het smeekt om meer details … het smeekt om beter te worden afgebroken. Ik moest even googlen wat “instantie” betekende om me te oriënteren… probeer eens “instantie van de klas” tegen je oma te zeggen…. yikes!


Antwoord 9

De letterlijke betekenis van instantie is ‘een voorbeeld of een enkele keer dat iets voorkomt’. wat heel dicht bij de terminologie van Instance in Java ligt.

Java volgt dynamisch laden, wat niet lijkt op C-taal, waarbij alle code tijdens runtime naar het RAM wordt gekopieerd. Laten we dit met een voorbeeld vastleggen.

  class A
    {
    int x=0;
    public static void main(String [] args)    
     {
    int y=0;
    y=y+1;
    x=x+1;
     }   
    }

Laten we deze code compileren en uitvoeren.

stap 1: javac A.class (.class-bestand wordt gegenereerd dat bytecode is)

stap 2: java A (.class-bestand wordt omgezet in uitvoerbare code)

Tijdens stap 2 worden de hoofdmethode en de statische elementen in het RAM geladen voor uitvoering. In het bovenstaande scenario is er geen probleem tot de regel y=y+1. Maar telkens wanneer x=x+1 wordt uitgevoerd, wordt de runtime-fout gegenereerd omdat de JVM niet weet wat de x is die buiten de hoofdmethode wordt gedeclareerd(niet-statisch).

Dus als op de een of andere manier de inhoud van het .class-bestand beschikbaar is in het geheugen zodat de CPU kan worden uitgevoerd, is er geen probleem meer.

Dit wordt gedaan door het object te maken en het trefwoord NIEUWdoet deze taak.

Het concept van het reserveren van geheugen in het RAM voor de inhoud van de harde schijf (hier een .class-bestand) tijdens runtime heet Instance

Het object wordt ook wel de instantie van de klasse genoemd.


Antwoord 10

Objecten, die ook instanties worden genoemd, zijn op zichzelf staande elementen van een programma met gerelateerde functies en gegevens. Voor het grootste deel gebruik je de klasse alleen om instanties te maken en vervolgens met die instanties te werken.

-Definitie overgenomen uit het boek “Sams Teach Yourself Java in 21 days”.

Stel dat je 2 klassen hebt, public class MainClassen public class Class_2en dat je een instantie van Class_2wilt maken in MainClass.

Dit is een heel eenvoudige en eenvoudige manier om het te doen:

public MainClass()      /*******this is the constructor of MainClass*******/
{
 Class_2 nameyouwant = new Class_2();
}

Ik hoop dat dit helpt!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

2 × 1 =

Other episodes