Ceci n'existe qu'à l'intérieur de la méthode et est utilisé pour représenter l'objet qui appelle la méthode. On peut comprendre qu'il existe une variable locale appelée ceci à l'intérieur de chaque méthode. Chaque fois qu'un objet est initialisé, l'adresse de l'objet est transmise à la variable this dans chaque méthode de l'objet, afin que cet objet puisse être utilisé à l'intérieur de la méthode. .
La première situation (Apprentissage recommandé : cours java)
Dans une méthode générale, un nom de paramètre formel dans votre méthode a le même nom qu'un membre de l'objet actuel. Afin d'éviter toute confusion, vous devez utiliser explicitement le mot clé this pour indiquer que vous souhaitez utiliser un certain Pour les membres, le La méthode d'utilisation est "this. member name", et celle sans ceci est le paramètre formel. De plus, vous pouvez également utiliser "this.method name" pour faire référence à une méthode de l'objet actuel, mais cela n'est pas nécessaire pour le moment. Vous pouvez utiliser directement le nom de la méthode pour accéder à cette méthode et au compilateur. saura que vous voulez lequel est appelé.
public class DemoThis { private String name; private int age; DemoThis(String name, int age) { setName(name); // 你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的 setAge(age); this.print(); } public void setName(String name) { this.name = name;// 此处必须指明你要引用成员变量 } public void setAge(int age) { this.age = age; } public void print() { System.out.println("Name=" + name + " Age=" + age);// 在此行中并不需要用this,因为没有会导致混淆的东西 } public static void main(String[] args) { DemoThis dt = new DemoThis("Kevin", "22"); } }
Le deuxième cas
Supposons qu'il y ait deux classes, la classe conteneur Container et la classe de contenu Component Dans la méthode membre de Container, un objet du Component. la classe doit être appelée. Le constructeur de Component nécessite une classe Container qui l'appelle en tant que paramètre.
class Container{ Component comp; public void addComponent(){ comp=new Component(this); } } class Component{ Container myContainer; public Component(Container c){ myContainer=c; } }
Le troisième cas
La méthode constructeur ne peut pas être appelée comme les autres méthodes et ne peut être appelée par le système que lorsque le système initialise un objet. Bien que le constructeur ne puisse pas être appelé par d'autres fonctions, il peut être appelé par d'autres constructeurs de la classe. Dans ce cas, utilisez simplement ceci.
class Person{ int age; String name; public Person(){ } public Person(int age){ this.age=age; } public Person(int age,String name){ this(age); this.name=name; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!