{"id":20296,"date":"2024-03-15T20:15:31","date_gmt":"2024-03-15T20:15:31","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/"},"modified":"2024-03-21T17:44:51","modified_gmt":"2024-03-21T17:44:51","slug":"how-to-achieve-polymorphism-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/","title":{"rendered":"How to achieve polymorphism in Java?"},"content":{"rendered":"<p>In Java, implementing polymorphism requires satisfying the following conditions:<\/p>\n<ol>\n<li>There is an inheritance relationship: subclasses inherit from parent classes or implement interfaces.<\/li>\n<li>Override method: Subclass overrides methods in parent class (or interface).<\/li>\n<li>The reference of the parent class (or interface) points to an object of the subclass.<\/li>\n<\/ol>\n<p>Here is an example code demonstrating polymorphism.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u5b9a\u4e49\u4e00\u4e2a\u7236\u7c7b<\/span>\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Animal<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">sound<\/span><span class=\"hljs-params\">()<\/span> {\r\n        System.out.println(<span class=\"hljs-string\">\"\u52a8\u7269\u53d1\u51fa\u58f0\u97f3\"<\/span>);\r\n    }\r\n}\r\n\r\n<span class=\"hljs-comment\">\/\/ \u5b9a\u4e49\u4e24\u4e2a\u5b50\u7c7b\uff0c\u5206\u522b\u7ee7\u627f\u7236\u7c7b<\/span>\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Cat<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_\">Animal<\/span> {\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">sound<\/span><span class=\"hljs-params\">()<\/span> {\r\n        System.out.println(<span class=\"hljs-string\">\"\u732b\u53d1\u51fa\u55b5\u55b5\u7684\u58f0\u97f3\"<\/span>);\r\n    }\r\n}\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Dog<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_\">Animal<\/span> {\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">sound<\/span><span class=\"hljs-params\">()<\/span> {\r\n        System.out.println(<span class=\"hljs-string\">\"\u72d7\u53d1\u51fa\u6c6a\u6c6a\u7684\u58f0\u97f3\"<\/span>);\r\n    }\r\n}\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">PolymorphismExample<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        <span class=\"hljs-comment\">\/\/ \u7236\u7c7b\u7c7b\u578b\u7684\u5f15\u7528\u6307\u5411\u5b50\u7c7b\u7684\u5bf9\u8c61<\/span>\r\n        <span class=\"hljs-type\">Animal<\/span> <span class=\"hljs-variable\">animal1<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Cat<\/span>();\r\n        <span class=\"hljs-type\">Animal<\/span> <span class=\"hljs-variable\">animal2<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Dog<\/span>();\r\n        \r\n        <span class=\"hljs-comment\">\/\/ \u8c03\u7528\u65b9\u6cd5\uff0c\u5b9e\u73b0\u591a\u6001<\/span>\r\n        animal1.sound(); <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1a\u732b\u53d1\u51fa\u55b5\u55b5\u7684\u58f0\u97f3<\/span>\r\n        animal2.sound(); <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\uff1a\u72d7\u53d1\u51fa\u6c6a\u6c6a\u7684\u58f0\u97f3<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the above example code, Animal is the superclass, and Cat and Dog are subclasses of Animal. By using Animal type references to point to objects of Cat and Dog, polymorphism is achieved. When calling the sound() method, because the Animal type reference points to the actual object type, the corresponding subclass sound() method will be automatically called. The output will vary depending on the actual object type, demonstrating the characteristics of polymorphism.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, implementing polymorphism requires satisfying the following conditions: There is an inheritance relationship: subclasses inherit from parent classes or implement interfaces. Override method: Subclass overrides methods in parent class (or interface). The reference of the parent class (or interface) points to an object of the subclass. Here is an example code demonstrating polymorphism. \/\/ [&hellip;]<\/p>\n","protected":false},"author":14,"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-20296","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 to achieve polymorphism in Java? - 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-to-achieve-polymorphism-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to achieve polymorphism in Java?\" \/>\n<meta property=\"og:description\" content=\"In Java, implementing polymorphism requires satisfying the following conditions: There is an inheritance relationship: subclasses inherit from parent classes or implement interfaces. Override method: Subclass overrides methods in parent class (or interface). The reference of the parent class (or interface) points to an object of the subclass. Here is an example code demonstrating polymorphism. \/\/ [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/\" \/>\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-15T20:15:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T17:44:51+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\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=\"Noah Thompson\" \/>\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-to-achieve-polymorphism-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"How to achieve polymorphism in Java?\",\"datePublished\":\"2024-03-15T20:15:31+00:00\",\"dateModified\":\"2024-03-21T17:44:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/\"},\"wordCount\":133,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/\",\"name\":\"How to achieve polymorphism in Java? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T20:15:31+00:00\",\"dateModified\":\"2024-03-21T17:44:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to achieve polymorphism in Java?\"}]},{\"@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\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to achieve polymorphism in Java? - 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-to-achieve-polymorphism-in-java\/","og_locale":"en_US","og_type":"article","og_title":"How to achieve polymorphism in Java?","og_description":"In Java, implementing polymorphism requires satisfying the following conditions: There is an inheritance relationship: subclasses inherit from parent classes or implement interfaces. Override method: Subclass overrides methods in parent class (or interface). The reference of the parent class (or interface) points to an object of the subclass. Here is an example code demonstrating polymorphism. \/\/ [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T20:15:31+00:00","article_modified_time":"2024-03-21T17:44:51+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"How to achieve polymorphism in Java?","datePublished":"2024-03-15T20:15:31+00:00","dateModified":"2024-03-21T17:44:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/"},"wordCount":133,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/","name":"How to achieve polymorphism in Java? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T20:15:31+00:00","dateModified":"2024-03-21T17:44:51+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-achieve-polymorphism-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to achieve polymorphism in Java?"}]},{"@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\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/20296","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\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=20296"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/20296\/revisions"}],"predecessor-version":[{"id":54086,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/20296\/revisions\/54086"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=20296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=20296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=20296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}