Un objet est une instance de classe, la création d'objets se fait à l'aide du constructeur de cette classe. Cette instanciation se fait grâce à l'opérateur new suivi du nom de la classe à instancier et des parenthèses contenant les paramètres du constructeur.
Un exemple avec la classe String :
new String("Bonjour");
Lorsqu'un objet est construit, les données qui le constitue sont placées dans un endroit de la mémoire auquel on ne peut pas directement accéder. On peut cependant récupérer une référence de l'objet, c'est à dire le point d'accès en mémoire de cet objet, que l'on place alors dans une variable.
Le concept des références est très proche de celui des pointeurs en langage C/C++, mais leur utilisation est beaucoup plus transparente pour le développeur.
String str = new String("Bonjour");
Contrairement à ce que l'on pourrait penser, la variable str ne contient pas la chaîne de caractères "Bonjour", mais uniquement une référence (un entier) vers l'objet qui est en mémoire. Mais il est impossible de modifier les données en mémoire autrement qu'en utilisant les méthodes de l'objet.
Remarque : chaque objet a une seule référence, c'est à dire une seule adresse en mémoire, mais on peut avoir plusieurs variables qui possèdent la même référence.
String str1, str2, str3;
str1 = new String("Bonjour");
str2 = str1;
str3 = new String("Au revoir");
L'accès aux données membres d'un objet se fait grâce à la référence de l'objet (par exemple via la variable qui contient cette référence), suivi d'un point, puis du nom de la donnée membre. Par exemple :
reference.nomDonnee = valeur;
(reference.donneeQuiReference).nomDonnee = valeur
L'accès aux méthodes d'un objet se fait comme pour l'accès aux données membres, c'est-à-dire par un point. La méthode est suivie de parenthèses, contenant les paramètres, si il y'en a. L'accès à une fonction membre se fait donc de la façon suivante :
reference.methode(parametre1,parametre2);
Le mot clé this permet de désigner l'objet courant. Lorsque l'on développe une classe, on code le comportement que devra avoir l'objet lorsqu'il sera utilisé, si dans une méthode un objet doit s'utiliser lui même (en général comme argument d'une autre méthode), alors il est nécessaire de connaître sa propre référence, qui nous ai donné par la valeur de this.
Par exemple : dans une méthode on veux que l'objet s'affiche lui même à l'écran, on pourrait faire :
public void afficher() {
System.out.println(this);
}
Remarque : il est courant de mélanger les termes d'objet et de référence, et ainsi d'appeler "objet" ce qui est une "référence", mais cela a bien souvent peu d'importance.
Par analogie, cette confusion revient à demander à quelqu'un "d'appeler un numéro de téléphone", or ce n'est jamais un numéro de téléphone que l'on appelle, mais la personne qui est joignable en appelant ce numéro de téléphone. Le numéro de téléphone serait donc la référence qui permet d'utiliser l'objet (appeler la personne). Pour peu que l'on ait un service à demander à cette personne, on caractérise alors la notion de méthode.
Vous n'aimez pas le lifting de Facebook ? Le site Mashable propose cinq étapes pour revenir à l'ancienne présentation du réseau social.