Java オブジェクトは、独自に定義したクラスによって作成されます。実際、それらはクラスの特定の実装です。クラスがなければ、オブジェクトも存在しません。クラスは多くのオブジェクトを作成できます。クラスは、特定の共通の特性を持つエンティティのコレクションであり、抽象データ型、同じ特性を持つエンティティの抽象化、およびあるタイプの「物」の属性と動作の抽象化です。オブジェクトは現実世界の実体です。オブジェクトと実体の間には 1 対 1 の対応関係があります。つまり、現実世界のすべての実体はオブジェクトであり、オブジェクトは特定の概念です。
このチュートリアルのオペレーティング システム: Windows 10 システム、Java 19.0.1 バージョン、Dell G3 コンピューター。
1. オブジェクトの概念
1. オブジェクトは独自に定義したクラスによって作成されます。
2. オブジェクトは実際にはクラスの特定の実装です。
例: 建物を建てるときに描かれる設計図はクラスであり、設計図に従って建てられた実際に居住可能な
建物はオブジェクトです。
クラス--抽象[次のようなものを抽出]--テンプレート[デザイン]
オブジェクト--実装--インスタンス[構築]
3. なし オブジェクトはありませんクラス内
4. クラスは複数のオブジェクトを作成できます
5. クラスはオブジェクトのテンプレートであり、オブジェクトはクラスの真の表現です
オブジェクトの役割
クラス内の変数とメソッドの呼び出し
##クラスは、特定の共通の特性を持つエンティティのコレクションであり、抽象データ型であり、エンティティを抽象化したものです。同じ特性。オブジェクト指向プログラミング言語では、クラスは、あるタイプの「物」のプロパティと動作を抽象化したものです。 オブジェクトは現実世界のエンティティです。オブジェクトとエンティティの間には 1 対 1 の対応関係があります。これは、現実世界のすべてのエンティティがオブジェクトであることを意味し、オブジェクトは特定の概念です。 2. オブジェクトの作成方法 [new]1. 現在のクラス内 -- 新しいコンストラクター ---this2. 他のクラス内 -- newコンストラクター 形式: new コンストラクター ([パラメーター値]);例: このクラスではpackagecom.wangxing.test1; publicclassduiXiang{ //创建公共实例成员变量/静态变量 publicStringname="zhangsan"; publicstaticintint1=1001; publicduiXiang(){ newduiXiang(); //当对象在类中声明,要使用变量或方法时 System.out.println(newduiXiang().int1); System.out.println(this.int1); } }
packagecom.wangxing.test1; publicclasstest{ publicstaticvoidmain(Stringargs[]){ newduiXiang(); } }
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); } }
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); } }
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("无返回值无参的静态方法"); } }
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); } }
以上がJavaオブジェクトを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。