Supprimer un object en Java?

Je veux supprimer un object que j’ai créé (un ovale qui vous suit), mais comment ferais-je cela?

delete follower1; 

n’a pas fonctionné.

MODIFIER:

Ok, je vais donner un peu plus de contexte. Je fais un petit jeu avec un ovale que vous pouvez contrôler et un ovale qui vous suit. Maintenant que j’ai des fichiers nommés: DrawPanel.class, cette classe dessine tout sur l’écran et gère les collisions, les sons, etc. J’ai une liste ennemie, qui est l’ovale qui suit le lecteur. J’ai un fichier entity.class, qui est le lecteur que vous pouvez contrôler. Et si le joueur croise le suiveur, je veux que mon object joueur soit supprimé. La façon dont je le fais:

  public void checkCollisions(){ if(player.getBounds().intersects(follower1.getBounds())){ Follower1Alive = false; player.health = player.health - 10; } } 

Vous devez supprimer les références en lui assignant null ou en laissant le bloc où il a été déclaré. Après cela, il sera automatiquement supprimé par le ramasse-miettes (pas immédiatement, mais éventuellement).

Exemple 1:

 Object a = new Object(); a = null; // after this, if there is no reference to the object, it will be deleted by the garbage collector 

Exemple 2:

 if (something) { Object o = new Object(); } // as you leave the block, the reference is deleted. Later on the garbage collector will delete he object itself. 

Pas quelque chose que vous recherchez actuellement, mais FYI: vous pouvez appeler le garbage collector avec l’appel System.gc ()

Votre C ++ montre.

Il n’y a pas de delete dans Java et tous les objects sont créés sur le tas. La machine virtuelle Java possède un ramasse-miettes qui s’appuie sur le nombre de références.

Une fois qu’il n’y a plus de références à un object, il devient disponible pour la collecte par le garbage collector.

myObject = null peut ne pas le faire; par exemple:

 Foo myObject = new Foo(); // 1 reference Foo myOtherObject = myObject; // 2 references myObject = null; // 1 reference 

Tout ce qui fait est de définir la référence myObject sur null, cela n’affecte pas l’object sur myObject a pointé une fois, sauf de simplement décrémenter le compte de référence de 1. Comme myOtherObject fait toujours référence à cet object, il n’est pas encore disponible pour la collecte.

Si vous voulez aider un object à disparaître, définissez sa référence sur null.

 Ssortingng x = "sadfasdfasd"; // do stuff x = null; 

Si vous définissez une référence à null, il est plus probable que l’object sera collecté, tant qu’il n’y a pas d’autres références à l’object.

Vous n’avez pas besoin de supprimer des objects en Java. Lorsqu’il n’y a aucune référence à un object, il sera automatiquement collecté par le ramasse-miettes.

Oui, java est garbage collecté, il va supprimer la mémoire pour vous.

Vous pouvez supprimer la référence en utilisant null .

Disons que vous avez la classe A :

 A a = new A(); a=null; 

La dernière instruction supprimera la référence de l’object a et cet object sera “garbage collection” par JVM. C’est l’un des moyens les plus faciles de le faire.

 //Just use a List //create the list public final List myObjects; //instantiate the list myObjects = new ArrayList(); //add objects to the list Object object = myObject; myObjects.add(object); //remove the object calling this method if you have more than 1 objects still works with 1 //object too. private void removeObject(){ int len = myObjects.size(); for(int i = 0;i