Maison >Java >Javacommencer >Comment comprendre cela en Java
Java fournit un mot-clé this, qui pointe toujours vers l'objet qui appelle la méthode. Selon l'endroit où cela apparaît, il existe deux situations dans lesquelles ceci sert de référence par défaut à l'objet. (Apprentissage recommandé : Cours Java )
A),Le constructeur est référencé dans le constructeur en cours d'initialisation. (cela fait toujours référence à l'objet initialisé par le constructeur. Par exemple, si les variables locales et les variables globales ont le même nom, cela fait toujours référence aux variables locales du constructeur).
b),fait référence à l'objet qui appelle la méthode dans la méthode.
La fonction la plus importante de ce mot-clé est de permettre à une méthode d'une classe d'accéder à une autre méthode ou variable d'instance de la classe. (Java permet à un membre d'un objet d'appeler directement un autre membre, et le préfixe this peut être omis. La plupart du temps, l'effet de l'ajout ou de la non-ajout du préfixe this lorsqu'une méthode accède à d'autres méthodes et variables membres définies dans la classe c'est exactement la même chose). Cela peut représenter n'importe quel objet. Lorsque celui-ci apparaît dans un corps de méthode, l'objet qu'il représente est incertain, mais son type est certain. L'objet qu'il représente ne peut être que la classe actuelle. Ce n'est que lorsque cette méthode est appelée que l'objet qu'elle représente est déterminé. Qui appelle cette méthode, cela représente qui. Pour les méthodes modifiées statiquement, vous pouvez utiliser une classe pour appeler directement la méthode. Si le mot clé this est utilisé dans une méthode modifiée statistiquement, ce mot clé ne peut pas pointer vers l'objet approprié. Par conséquent, cette référence ne peut pas être utilisée dans des méthodes modifiées statiquement. Étant donné que les méthodes à modification statique ne peuvent pas utiliser cette référence, les méthodes à modification statique ne peuvent pas accéder aux membres ordinaires qui ne sont pas modifiés de manière statique. Par conséquent, la grammaire Java stipule que les membres statiques ne peuvent pas accéder directement aux membres non statiques.package com.bie.main; /** * * @Description TODO * @author biehl * @Date 2019年3月9日 上午10:53:48 * */ public class Person { public int age;//成员变量。 public Person() { //构造器中定义一个age局部变量 int age = 0; //使用this代表该构造器正在初始化的对象。 //将构造器正在初始化的对象age对象设置为25 this.age = 25; } public static void main(String[] args) { System.out.println(new Person().age); } }
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!