{"id":21076,"date":"2024-03-15T21:27:56","date_gmt":"2024-03-15T21:27:56","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/"},"modified":"2024-03-21T19:37:26","modified_gmt":"2024-03-21T19:37:26","slug":"how-are-java-objects-assigned-values-and-referenced","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/","title":{"rendered":"How are Java objects assigned values and referenced?"},"content":{"rendered":"<p>In Java, object assignment and references can be achieved in several ways.<\/p>\n<ol>\n<li>Assigning directly: You can assign one object directly to another object, so that both objects will reference the same memory address, pointing to the same object.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">obj1<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Object<\/span>();\r\n<span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">obj2<\/span> <span class=\"hljs-operator\">=<\/span> obj1; <span class=\"hljs-comment\">\/\/ \u5c06obj1\u5bf9\u8c61\u8d4b\u503c\u7ed9obj2\u5bf9\u8c61\uff0cobj1\u548cobj2\u5f15\u7528\u540c\u4e00\u4e2a\u5bf9\u8c61<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>By assigning values through constructors: one can create a new object by calling an object&#8217;s constructor and passing parameters, and then assign it to another object.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">obj1<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Object<\/span>();\r\n<span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">obj2<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Object<\/span>(obj1); <span class=\"hljs-comment\">\/\/ \u901a\u8fc7\u6784\u9020\u51fd\u6570\u5c06obj1\u5bf9\u8c61\u7684\u503c\u8d4b\u7ed9obj2\u5bf9\u8c61<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Assigning a returned value through a method: by calling a method and assigning its returned value to another object, both objects will reference the same returned value object.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>Object <span class=\"hljs-title function_\">getObject<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Object<\/span>();\r\n}\r\n\r\n<span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">obj1<\/span> <span class=\"hljs-operator\">=<\/span> getObject();\r\n<span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">obj2<\/span> <span class=\"hljs-operator\">=<\/span> obj1; <span class=\"hljs-comment\">\/\/ \u5c06getObject\u65b9\u6cd5\u8fd4\u56de\u7684\u5bf9\u8c61\u8d4b\u503c\u7ed9obj2\u5bf9\u8c61\uff0cobj1\u548cobj2\u5f15\u7528\u540c\u4e00\u4e2a\u5bf9\u8c61<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>By assigning an array: You can create an array object and assign it to another array object, so that both array objects will reference the same array.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">int<\/span>[] arr1 = {<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>};\r\n<span class=\"hljs-type\">int<\/span>[] arr2 = arr1; <span class=\"hljs-comment\">\/\/ \u5c06arr1\u6570\u7ec4\u8d4b\u503c\u7ed9arr2\u6570\u7ec4\uff0carr1\u548carr2\u5f15\u7528\u540c\u4e00\u4e2a\u6570\u7ec4<\/span>\r\n<\/code><\/pre>\n<p>It is important to note that in Java, primitive data types (such as int, double, etc.) are passed by value, not by reference, so when assigning them, the value is directly copied to another variable. Only object types are passed by reference.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, object assignment and references can be achieved in several ways. Assigning directly: You can assign one object directly to another object, so that both objects will reference the same memory address, pointing to the same object. Object obj1 = new Object(); Object obj2 = obj1; \/\/ \u5c06obj1\u5bf9\u8c61\u8d4b\u503c\u7ed9obj2\u5bf9\u8c61\uff0cobj1\u548cobj2\u5f15\u7528\u540c\u4e00\u4e2a\u5bf9\u8c61 By assigning values through constructors: one [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-21076","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How are Java objects assigned values and referenced? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How are Java objects assigned values and referenced?\" \/>\n<meta property=\"og:description\" content=\"In Java, object assignment and references can be achieved in several ways. Assigning directly: You can assign one object directly to another object, so that both objects will reference the same memory address, pointing to the same object. Object obj1 = new Object(); Object obj2 = obj1; \/\/ \u5c06obj1\u5bf9\u8c61\u8d4b\u503c\u7ed9obj2\u5bf9\u8c61\uff0cobj1\u548cobj2\u5f15\u7528\u540c\u4e00\u4e2a\u5bf9\u8c61 By assigning values through constructors: one [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T21:27:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T19:37:26+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"How are Java objects assigned values and referenced?\",\"datePublished\":\"2024-03-15T21:27:56+00:00\",\"dateModified\":\"2024-03-21T19:37:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\"},\"wordCount\":170,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\",\"name\":\"How are Java objects assigned values and referenced? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T21:27:56+00:00\",\"dateModified\":\"2024-03-21T19:37:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How are Java objects assigned values and referenced?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How are Java objects assigned values and referenced? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/","og_locale":"en_US","og_type":"article","og_title":"How are Java objects assigned values and referenced?","og_description":"In Java, object assignment and references can be achieved in several ways. Assigning directly: You can assign one object directly to another object, so that both objects will reference the same memory address, pointing to the same object. Object obj1 = new Object(); Object obj2 = obj1; \/\/ \u5c06obj1\u5bf9\u8c61\u8d4b\u503c\u7ed9obj2\u5bf9\u8c61\uff0cobj1\u548cobj2\u5f15\u7528\u540c\u4e00\u4e2a\u5bf9\u8c61 By assigning values through constructors: one [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T21:27:56+00:00","article_modified_time":"2024-03-21T19:37:26+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"How are Java objects assigned values and referenced?","datePublished":"2024-03-15T21:27:56+00:00","dateModified":"2024-03-21T19:37:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/"},"wordCount":170,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/","url":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/","name":"How are Java objects assigned values and referenced? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T21:27:56+00:00","dateModified":"2024-03-21T19:37:26+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-are-java-objects-assigned-values-and-referenced\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How are Java objects assigned values and referenced?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=21076"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21076\/revisions"}],"predecessor-version":[{"id":54916,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21076\/revisions\/54916"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=21076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=21076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=21076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}