{"id":22917,"date":"2024-03-16T00:30:06","date_gmt":"2024-03-16T00:30:06","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/"},"modified":"2024-03-22T00:01:23","modified_gmt":"2024-03-22T00:01:23","slug":"how-to-create-an-abstract-class-in-java-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/","title":{"rendered":"How to create an abstract class in Java?"},"content":{"rendered":"<p>To create an abstract class, you need to use the keyword &#8216;abstract&#8217;. An abstract class is a type of class that cannot be instantiated, it can only be inherited. Here is an example code for creating an abstract class:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">abstract<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">AbstractClass<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u62bd\u8c61\u65b9\u6cd5<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">abstract<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">abstractMethod<\/span><span class=\"hljs-params\">()<\/span>;\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u666e\u901a\u65b9\u6cd5<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">normalMethod<\/span><span class=\"hljs-params\">()<\/span> {\r\n        System.out.println(<span class=\"hljs-string\">\"\u8fd9\u662f\u4e00\u4e2a\u666e\u901a\u65b9\u6cd5\"<\/span>);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the example above, AbstractClass is an abstract class that contains an abstract method, abstractMethod(), and a normal method, normalMethod(). The abstract method does not have a method body, only a method declaration, while the normal method has a method body.<\/p>\n<p>Noticing the keyword &#8216;abstract&#8217; before a class name signifies that it is an abstract class. Abstract classes can contain both abstract methods that must be implemented in subclasses, as well as non-abstract methods that can either have default implementations in the abstract class or be overridden in subclasses.<\/p>\n<p>If a class inherits an abstract class, it must implement all abstract methods in the abstract class unless it is also declared as an abstract class.<\/p>\n<p>Here is an example of inheriting an abstract class:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">ConcreteClass<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_\">AbstractClass<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ \u5b9e\u73b0\u62bd\u8c61\u65b9\u6cd5<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">abstractMethod<\/span><span class=\"hljs-params\">()<\/span> {\r\n        System.out.println(<span class=\"hljs-string\">\"\u8fd9\u662f\u4e00\u4e2a\u62bd\u8c61\u65b9\u6cd5\u7684\u5b9e\u73b0\"<\/span>);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>ConcreteClass is a concrete class that inherits from AbstractClass and implements the abstract method abstractMethod().<\/p>\n<p>It is important to note that abstract classes cannot be directly instantiated, they can only be used as parent classes for other classes. Abstract class methods can be used by creating an instance of a concrete class that inherits from the abstract class.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To create an abstract class, you need to use the keyword &#8216;abstract&#8217;. An abstract class is a type of class that cannot be instantiated, it can only be inherited. Here is an example code for creating an abstract class: public abstract class AbstractClass { \/\/ \u62bd\u8c61\u65b9\u6cd5 public abstract void abstractMethod(); \/\/ \u666e\u901a\u65b9\u6cd5 public void normalMethod() [&hellip;]<\/p>\n","protected":false},"author":11,"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-22917","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 create an abstract class 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-create-an-abstract-class-in-java-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to create an abstract class in Java?\" \/>\n<meta property=\"og:description\" content=\"To create an abstract class, you need to use the keyword &#8216;abstract&#8217;. An abstract class is a type of class that cannot be instantiated, it can only be inherited. Here is an example code for creating an abstract class: public abstract class AbstractClass { \/\/ \u62bd\u8c61\u65b9\u6cd5 public abstract void abstractMethod(); \/\/ \u666e\u901a\u65b9\u6cd5 public void normalMethod() [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/\" \/>\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-16T00:30:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T00:01:23+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\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=\"Olivia Parker\" \/>\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-create-an-abstract-class-in-java-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How to create an abstract class in Java?\",\"datePublished\":\"2024-03-16T00:30:06+00:00\",\"dateModified\":\"2024-03-22T00:01:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/\"},\"wordCount\":229,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/\",\"name\":\"How to create an abstract class in Java? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T00:30:06+00:00\",\"dateModified\":\"2024-03-22T00:01:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to create an abstract class 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\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to create an abstract class 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-create-an-abstract-class-in-java-2\/","og_locale":"en_US","og_type":"article","og_title":"How to create an abstract class in Java?","og_description":"To create an abstract class, you need to use the keyword &#8216;abstract&#8217;. An abstract class is a type of class that cannot be instantiated, it can only be inherited. Here is an example code for creating an abstract class: public abstract class AbstractClass { \/\/ \u62bd\u8c61\u65b9\u6cd5 public abstract void abstractMethod(); \/\/ \u666e\u901a\u65b9\u6cd5 public void normalMethod() [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T00:30:06+00:00","article_modified_time":"2024-03-22T00:01:23+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How to create an abstract class in Java?","datePublished":"2024-03-16T00:30:06+00:00","dateModified":"2024-03-22T00:01:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/"},"wordCount":229,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/","name":"How to create an abstract class in Java? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T00:30:06+00:00","dateModified":"2024-03-22T00:01:23+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-create-an-abstract-class-in-java-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to create an abstract class 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\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22917","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=22917"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22917\/revisions"}],"predecessor-version":[{"id":56865,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22917\/revisions\/56865"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=22917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=22917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=22917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}