Maison >Problème commun >Comment comprendre les objets Java
Les objets Java sont créés par des classes définies par nous-mêmes. Ils sont en fait l'implémentation spécifique de la classe, il n'y a pas d'objets. Une classe est un ensemble d'entités présentant certaines caractéristiques communes. Il s'agit d'un type de données abstrait, d'une abstraction d'entités présentant les mêmes caractéristiques et d'une abstraction des attributs et comportements d'un type de « chose ». Un objet est une entité dans le monde réel. Il existe une correspondance biunivoque entre les objets et les entités. Cela signifie que chaque entité dans le monde réel est un objet, donc l'objet est un concept spécifique.
Le système d'exploitation de ce tutoriel : système Windows 10, Java version 19.0.1, ordinateur Dell G3.
1. Concept d'objet
1. Les objets sont créés par des classes définies par nous-mêmes.
2. L'objet est en fait l'implémentation spécifique de la classe.
Par exemple : les dessins de conception dessinés lors de la construction d'un bâtiment sont des classes, et les véritables bâtiments
habitables construits selon les dessins de conception sont des objets.
Classe--Résumé [Extraire quelque chose comme]--Modèle [Conception]
Objet--Implémentation--Instance [Bâtiment]
3 Sans classe, il n'y a pas d'objet
4. Produire plusieurs objets
5. Une classe est le modèle d'un objet, et l'objet est la véritable représentation de la classe
Le rôle de l'objet
Appeler des variables et des méthodes dans la classe
Une classe est une collection de entités ayant certaines caractéristiques communes, il s’agit d’un type de données abstrait qui résume les entités ayant les mêmes caractéristiques. Dans les langages de programmation orientés objet, une classe est une abstraction des propriétés et du comportement d'un type de « chose ».
Un objet est une entité dans le monde réel. Il existe une correspondance biunivoque entre les objets et les entités. Cela signifie que chaque entité dans le monde réel est un objet, donc l'objet est un concept spécifique.
2. Comment créer un objet [nouveau]
1. Dans la classe actuelle--nouvelle+méthode constructeur---this
2. Dans d'autres classes--nouvelle+méthode constructeur
Format : nouvelle méthode constructeur. ([valeur du paramètre] );
Par exemple : dans cette classe
packagecom.wangxing.test1; publicclassduiXiang{ //创建公共实例成员变量/静态变量 publicStringname="zhangsan"; publicstaticintint1=1001; publicduiXiang(){ newduiXiang(); //当对象在类中声明,要使用变量或方法时 System.out.println(newduiXiang().int1); System.out.println(this.int1); } }
dans d'autres classes
packagecom.wangxing.test1; publicclasstest{ publicstaticvoidmain(Stringargs[]){ newduiXiang(); } }
3. Les variables d'accès aux objets
1.
2. Les variables d'instance ne sont accessibles que par les objets
3. Les variables statiques sont accessibles par nom de classe et sont accessibles par les objets
4. Les variables d'instance ne peuvent pas partager de données entre plusieurs objets de la même classe
Variables statiques. sont dans la même classe Les données peuvent être partagées entre plusieurs objets
Par exemple :
packagecom.wangxing.test1; publicclassfangWenBianLiang{ //创建实例成员和静态成员 publicStringname="lisi"; publicstaticintint1=1001; publicfangWenBianLiang(){} //创建一个无返回值和无参实例方法 publicvoidmethod1(){ //实例方法只能对象访问或者this指向这个类的对象 System.out.println("对象访问实例变量="+newfangWenBianLiang().name); System.out.println("对象访问实例变量="+this.name); //System.out.println("实例变量只能对象访问实例变量="+object.name); //静态变量类名访问,可以对象访问 System.out.println("对象访问静态变量="+this.int1); System.out.println("对象访问静态变量="+newfangWenBianLiang().int1); System.out.println("对象访问静态变量="+fangWenBianLiang.int1); } }
accès aux objets de test de classe de test
packagecom.wangxing.test1; publicclasstest{ publicstaticvoidmain(Stringargs[]){ //创建fangWenBianLiang类的对象 fangWenBianLiangobj1=newfangWenBianLiang(); fangWenBianLiangobj2=newfangWenBianLiang(); //测试实例变量和静态变量在多个对象之间数据是否共享 //实例变量 System.out.println("实例变量obj1.name="+obj1.name); obj1.name="zhangsan"; //多个对象中不能共享数据 System.out.println("实例变量obj1.name="+obj1.name); System.out.println("实例变量obj2.name="+obj2.name); //静态变量 System.out.println("静态变量obj1.int1="+obj1.int1); obj1.int1=1002; //多个对象中能共享数据 System.out.println("静态变量obj1.int1="+obj1.int1); System.out.println("静态变量obj2.int1="+obj2.int1); } }
Quatre méthodes d'accès aux objets
1 Accès aux méthodes du constructeur - nouveau
2. .Méthodes d'instance uniquement Accessibles par objet
3. L'accès au nom de classe de méthode statique est accessible par objet
4 Il existe une méthode de paramètre et les paramètres doivent être transmis [numéro, type] [ce que vous voulez, quoi. vous voulez]
5. Il y a une valeur de retour, corps de la méthode La dernière phrase est return La valeur des données renvoyées doit correspondre au type de valeur de retour de la méthode
Appelez une méthode avec une valeur de retour et vous devez la définir. une variable pour recevoir la valeur de retour de la méthode [ce que vous donnez, ce que vous recevez]
Par exemple :
packagecom.wangxing.test1; publicclassfangWenFangfa{ publicfangWenFangfa(){} //创建无返回值无参的实例方法 publicvoidmethod1(){ System.out.println("无返回值无参的实例方法"); //this.method1(); } publicStringmethod3(intid,Stringname){ System.out.println("有返回值返回值有参的实例方法"); Stringinfo="id=="+id+"---"+"name=="+name; returninfo; } //创建无返回值无参的静态方法 publicstaticvoidmethod2(){ System.out.println("无返回值无参的静态方法"); } }
Classe de test
packagecom.wangxing.test1; publicclasstestFangFa{ publicstaticvoidmain(Stringargs[]){ //创建fangWenFangfa类的对象 fangWenFangfafwff=newfangWenFangfa(); //实例方法只能对象访问,在同一类时可以使用this指向类对象访问实例方法 fwff.method1(); //fangWenFangfa.method1(); //静态变量,在同一类时可以使用this指向类对象访问静态方法 fwff.method2(); fangWenFangfa.method2(); //有参数方法,需要传递参数【个数,类型】【要什么,给什么】 //有返回值,方法体中的最后一句是return,返回的数据值要与方法的返回值类型匹配, //调用有返回值的方法需要定义变量来接收方法的返回值【给什么,收什么】 Stringinfo1=fwff.method3(1001,"zhangsan"); System.out.println("对象访问有返回值参数的实例方法结果:"+info1); } }
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!