{"id":92,"date":"2025-09-05T13:06:44","date_gmt":"2025-09-05T13:06:44","guid":{"rendered":"https:\/\/support.nullflag.com\/?post_type=docs&#038;p=92"},"modified":"2025-09-06T12:36:31","modified_gmt":"2025-09-06T12:36:31","password":"","slug":"java-development","status":"publish","type":"docs","link":"https:\/\/www.nullflag.com\/support\/kb\/cpp_c_java_arm64_javascript\/java_basic\/java-development\/","title":{"rendered":"Java Development"},"content":{"rendered":"\n<p><strong>Today\u2019s Summary:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Common Data Types:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Covered: Integer, String, Character, Array<\/li>\n\n\n\n<li>Not yet covered: List series (lists), Set series (collections), Map series (dictionaries)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Object-Oriented Programming<\/strong><\/li>\n\n\n\n<li><strong>Packages (Python packages and modules)<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">About Object<\/h2>\n\n\n\n<p>In Python, every class by default inherits from the <code>Object<\/code> class (all classes are subclasses of <code>Object<\/code>). <br>In Java, all classes also by default inherit from the <code>Object<\/code> class.<br>A base class can be used to generally refer to the types of its subclasses.<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-6jh728h\"\n     id=\"betterdocs-code-snippet-6jh728h\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-6jh728h .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.Arrays; \/\/ Import the java.util.Arrays class, used for array operations, but not used in this program\n\u00a0\u200b\n\u00a0public class Hello { \/\/ Define a public class named Hello\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) { \/\/ The main method, entry point of the program\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ String first = &quot;Joebiden&quot;; \/\/ Define a string variable named first and initialize it to &quot;Joebiden&quot;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object first = new String(&quot;Joebiden&quot;); \/\/ Define an object variable named first, and initialize it with a String object &quot;Joebiden&quot;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(first); \/\/ Print the content of the first object, which is the string &quot;Joebiden&quot;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(first.getClass()); \/\/ Print the class information of the first object, i.e., class java.lang.String\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object second = 2027; \/\/ Define an object variable named second, and initialize it with the integer 2027 (autoboxed to Integer)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(second); \/\/ Print the content of the second object, which is the integer 2027\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(second.getClass()); \/\/ Print the class information of the second object, i.e., class java.lang.Integer\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-6jh728h');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-b6kc753\"\n     id=\"betterdocs-code-snippet-b6kc753\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-b6kc753 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.Arrays;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Declare an array, elements must be of type int\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0int[] functionname1 = new int[3];\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Declare an array, elements must be of type String\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String[] functionname2 = new String[3];\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Declare an array, elements can be of type int or String (any Object type)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object[] functionname3 = new Object[3];\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0functionname3[0] = 83;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0functionname3[1] = &quot;joebiden&quot;;\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-b6kc753');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>So, if you want to declare an array with mixed types in the future, you can use <strong><code>Object<\/code><\/strong> to achieve this.<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-guzez8q\"\n     id=\"betterdocs-code-snippet-guzez8q\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-guzez8q .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.Arrays;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ v1 refers to a String object\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String v1 = new String(&quot;ningkong&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String res = v1.toUpperCase();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(res);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ v2 is essentially a String object, but declared as Object\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object v2 = new String(&quot;ningkong&quot;); \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String data = (String) v2; \u00a0\/\/ type casting back to String\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-guzez8q');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-30f89d59\"\n     id=\"betterdocs-code-snippet-30f89d59\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-30f89d59 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.Arrays;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void func(Object v1) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ System.out.println(v1);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ System.out.println(v1.getClass());\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0if (v1 instanceof Integer) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Integer type&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0  } else if (v1 instanceof String) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;String type&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0  } else {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Unknown type&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0func(123);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0func(&quot;123&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-30f89d59');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In Java, all classes inherit from <code>Object<\/code>, and <code>Object<\/code> represents all types.<\/li>\n\n\n\n<li><strong>Creating Relationships Yourself<\/strong><\/li>\n<\/ul>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-583b75f4\"\n     id=\"betterdocs-code-snippet-583b75f4\"\n     data-language=\"javascript\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\ud83d\udcc4<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-583b75f4 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-javascript\"><code>ArrayList v1 = new ArrayList();\nLinkedList v2 = new LinkedList();\n \nList v1 = new ArrayList();\nList v2 = new LinkedList();\n \nObject v1 = new ArrayList();\nObject v2 = new LinkedList();<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-583b75f4');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. Common Data Types<\/strong> \u2705<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 &#8212;<strong>The List Interface<\/strong> \u2013 used to store multiple pieces of data dynamically.<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Similar to a list in Python.<\/strong> \u2705<\/p>\n<\/blockquote>\n\n\n\n<p><code>List<\/code> is an interface, and it has two commonly used implementations (designed to store multiple dynamic data elements).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ArrayList<\/strong> \u2013 storage in contiguous memory addresses (with automatic internal resizing). \u2192 This corresponds to the characteristics of Python lists.<\/li>\n\n\n\n<li><strong>LinkedList<\/strong> \u2013 implemented based on a linked list structure (like a bicycle chain). \u2192 This does <strong>not<\/strong> correspond to Python lists (since Python lists are array-based).<\/li>\n<\/ul>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-l2fn08g\"\n     id=\"betterdocs-code-snippet-l2fn08g\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-l2fn08g .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0ArrayList v1 = new ArrayList();\n\u00a0v1.add(&quot;ningkong&quot;);\n\u00a0v1.add(&quot;alice&quot;);\n\n\u00a0LinkedList v1 = new LinkedList();\n\u00a0v1.add(&quot;boob&quot;);\n\u00a0v1.add(&quot;ningkong&quot;);<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-l2fn08g');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>In Java, an <strong>interface<\/strong> is used to constrain the classes that implement it, requiring them to contain certain members.<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-ro5ieee\"\n     id=\"betterdocs-code-snippet-ro5ieee\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-ro5ieee .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0interface List {\n\u00a0 \u00a0 \u00a0public void add(Object data); \u00a0 \/\/ Methods in an interface do not provide implementations; they only serve as constraints.\n\u00a0}\n\u00a0class ArrayList implements List {\n\u00a0 \u00a0 \u00a0public void add(Object data) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Store the data in memory using a contiguous storage approach.\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ ..\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0class LinkedList implements List {\n\u00a0 \u00a0 \u00a0public void add(Object data) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Store the data in memory in the form of a linked list.\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ ..\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-ro5ieee');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-a5055356\"\n     id=\"betterdocs-code-snippet-a5055356\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-a5055356 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\nList v1 = new ArrayList();\n\u00a0v1.add(&quot;ningkong&quot;);\n\u00a0v1.add(&quot;alice&quot;);\n\nList v1 = new LinkedList();\n\u00a0v1.add(&quot;ningkong&quot;);\n\u00a0v1.add(&quot;alice&quot;);<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-a5055356');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>ArrayList Example\uff1a<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-1bbed30f\"\n     id=\"betterdocs-code-snippet-1bbed30f\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-1bbed30f .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.ArrayList;\n\u00a0import java.util.Arrays;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ By default, ArrayList can store mixed data types if no generic type is specified.\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ However, it is recommended to use generics for type safety.\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Example:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ ArrayList &lt;String&gt; data = new ArrayList &lt;String&gt;();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ ArrayList &lt;Object&gt; data = new ArrayList &lt;Object&gt;();\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0ArrayList data = new ArrayList(); \u00a0\/\/ Create an ArrayList to store different data types\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.add(&quot;ningkong&quot;); \u00a0\/\/ Add a String\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.add(&quot;alice&quot;); \u00a0 \u00a0 \/\/ Add a String\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.add(2027); \u00a0 \u00a0 \u00a0 \u00a0\/\/ Add an Integer\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.add(&quot;windows&quot;); \u00a0 \/\/ Add a String\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ String value1 = data.get(1);  \/\/ Trying to get the second element (compile error without casting)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ String value2 = (String) data.get(2);  \/\/ Cast to String (will cause runtime error if type is not String)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ System.out.println(&quot;I&#039;m value1: &quot; + value1);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ System.out.println(&quot;I&#039;m value2: &quot; + value2);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object temp = data.get(1); \u00a0 \/\/ Get the second element\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String value = (String) temp; \/\/ Cast to String (safe in this case)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(value);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0int xo = (int) data.get(2); \u00a0\/\/ Get the third element and cast to int\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(xo);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.set(0, &quot;hello&quot;); \u00a0\/\/ Modify the first element\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(data);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.remove(&quot;bush&quot;); \u00a0 \/\/ Try to remove element &quot;bush&quot; (no effect, since it doesn\u2019t exist)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0data.remove(0); \u00a0 \u00a0 \u00a0 \u00a0\/\/ Remove the first element\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;After attempting to remove \\&quot;bush\\&quot; and removing the first element: &quot; + data);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0int size = data.size(); \u00a0\/\/ Get the size of the ArrayList\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(size);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0boolean exists = data.contains(&quot;Ningkong&quot;); \u00a0\/\/ Check if a specific element exists (case-sensitive)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(exists);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (Object item : data) { \u00a0\/\/ Iterate over the ArrayList and print each element\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Item: &quot; + item);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (int i = 0; i &lt; data.size(); i++) { \u00a0\/\/ Iterate using index\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object item = data.get(i);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Index &quot; + i + &quot; --&gt; &quot; + item);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-1bbed30f');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>LinkedList Example\uff1a<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-aa1d0e03\"\n     id=\"betterdocs-code-snippet-aa1d0e03\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-aa1d0e03 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.LinkedList;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Create a LinkedList to store integers\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0LinkedList&lt;Integer&gt; v1 = new LinkedList&lt;Integer&gt;();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v1.add(2045); \u00a0\/\/ Add element 2045 to v1\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v1.add(2046); \u00a0\/\/ Add element 2046 to v1\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Create a LinkedList to store objects of any data type\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0LinkedList&lt;Object&gt; v2 = new LinkedList&lt;Object&gt;();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.add(&quot;United States&quot;); \u00a0\/\/ Add a string to v2\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.add(&quot;North America&quot;); \u00a0\/\/ Add a string to v2\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.add(2009); \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ Add an integer to v2\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.add(2025); \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ Add an integer to v2\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ v2.remove(1);  \/\/ Try to remove the element at index 1\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ v2.remove(&quot;North America&quot;);  \/\/ Try to remove the element &quot;North America&quot;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.set(2, &quot;Google&quot;); \u00a0 \u00a0\/\/ Replace the third element\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.push(&quot;Microsoft&quot;); \u00a0 \/\/ Add an element to the beginning\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Iterate over the LinkedList and print each element\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (int i = 0; i &lt; v2.size(); i++) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object item = v2.get(i);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(item);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Iterate over the LinkedList using an enhanced for loop\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (Object item : v2) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(item);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-aa1d0e03');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>about iterator\uff1a<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-9cebc110\"\n     id=\"betterdocs-code-snippet-9cebc110\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-9cebc110 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.*;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0ArrayList s1 = new ArrayList(); \/\/ Create an ArrayList called s1\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;Facebook&quot;); \u00a0\/\/ Add &quot;Facebook&quot; to the list\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;Qualcomm&quot;); \u00a0\/\/ Add &quot;Qualcomm&quot; to the list\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;Cisco&quot;); \u00a0 \u00a0 \/\/ Add &quot;Cisco&quot; to the list\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Iterator it = s1.iterator(); \/\/ Create an iterator for the list\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0while (it.hasNext()) { \u00a0 \u00a0 \u00a0 \/\/ While there are more elements\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String item = (String) it.next(); \/\/ Get the next element as a string\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(item); \u00a0 \u00a0 \u00a0 \u00a0 \/\/ Print the element\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-9cebc110');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 &#8212; <strong>Set Interface \u2014 Multi-Element Collection<\/strong><\/h3>\n\n\n\n<p><code>Set<\/code> is an <strong>interface<\/strong> in Java. Two common classes that implement this interface are used to represent collections of elements <strong>without duplicates<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HashSet<\/strong> \u2013 removes duplicates, does <strong>not<\/strong> preserve order.<\/li>\n\n\n\n<li><strong>TreeSet<\/strong> \u2013 removes duplicates and maintains <strong>sorted order<\/strong> (by ASCII or Unicode). [Note: Different data types cannot be directly compared in a <code>TreeSet<\/code>.]<\/li>\n<\/ul>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-ec1f61e0\"\n     id=\"betterdocs-code-snippet-ec1f61e0\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-ec1f61e0 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\u200b\n\u00a0import java.util.*;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Different ways to declare a Set:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ HashSet s1 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Set s1 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ HashSet &lt;String&gt; s1 = new HashSet &lt;String&gt;();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet s1 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;north&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;south&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;north&quot;); \/\/ duplicate ignored\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;east&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(2025); \u00a0 \u00a0\/\/ allowed, since HashSet accepts mixed types\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(s1); \/\/ Output example: [north, south, east, 2025]\n\u00a0        \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Initialize HashSet with elements directly\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet s2 = new HashSet() {{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;california&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;newyork&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;canada&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0  }};\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(s2);\n\u00a0\u200b\n\u00a0\u200b\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Different ways to declare a TreeSet:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Set s3 = new TreeSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ TreeSet &lt;String&gt; s3 = new TreeSet &lt;String&gt;();\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeSet s3 = new TreeSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s3.add(&quot;north&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s3.add(&quot;south&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s3.add(&quot;north&quot;); \/\/ duplicate ignored\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s3.add(&quot;east&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ s3.add(2027); \/\/ Not allowed, since TreeSet requires comparable elements of the same type\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(s3); \/\/ Output: [east, north, south]\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Initialize TreeSet with elements directly\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeSet s4 = new TreeSet() {{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;Britsh&quot;); \u00a0\/\/ (probably meant &quot;British&quot;)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;French&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;Germany&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0add(&quot;French&quot;); \u00a0\/\/ duplicate ignored\n\u00a0 \u00a0 \u00a0 \u00a0  }};\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(s4); \/\/ Output: [Britsh, French, Germany]\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-ec1f61e0');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>On Union, Intersection, and Difference:<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-704d17f5\"\n     id=\"betterdocs-code-snippet-704d17f5\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-704d17f5 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.*;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Set s1 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet s1 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;push&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;pop&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;arm64&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.remove(&quot;pop&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(s1); \/\/ [push, arm64]\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0boolean exists = s1.contains(&quot;&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(exists);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet s2 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s2.add(2025);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s2.add(2026);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet v1 = new HashSet(); \/\/ initially empty\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v1.addAll(s1);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v1.retainAll(s2); \/\/ intersection (s1 \u2229 s2)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(v1);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet v2 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.addAll(s1);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v2.addAll(s2); \/\/ union (s1 \u222a s2)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(v2);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet v3 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v3.addAll(s1);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v3.removeAll(s2); \/\/ difference (s1 - s2)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(v3);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashSet v4 = new HashSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v4.addAll(s2);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0v4.removeAll(s1); \/\/ difference (s2 - s1)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(v4);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-704d17f5');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>About TreeSet:<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-3646aa69\"\n     id=\"betterdocs-code-snippet-3646aa69\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-3646aa69 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.*;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeSet s1 = new TreeSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;billgates&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;stevejobs&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;elonmusk&quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (Object item : s1) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(item);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-3646aa69');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>About Iterators:<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-3fda952d\"\n     id=\"betterdocs-code-snippet-3fda952d\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-3fda952d .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.*;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeSet s1 = new TreeSet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;north&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;south&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0s1.add(&quot;west&quot;);\n\u00a0\u200b\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Iterator it = s1.iterator();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0while (it.hasNext()) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String item = (String) it.next();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(item);\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0  }\n\u00a0}<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-3fda952d');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">1.3 \u2014 The Map Interface \u2014 Storing Key-Value Pairs<\/h3>\n\n\n\n<p><code>Map<\/code> is an interface, and there are two common classes that implement this interface, used to store key-value pairs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HashMap<\/strong>: unordered.<\/li>\n\n\n\n<li><strong>TreeMap<\/strong>: ordered by key by default (commonly used).&nbsp;# In Python, you need to handle the problem of key sorting yourself.<\/li>\n<\/ul>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-567b9a9c\"\n     id=\"betterdocs-code-snippet-567b9a9c\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-567b9a9c .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0v4 = {\n\u00a0 \u00a0 \u00a0&quot;aid&quot;:2024,\n\u00a0 \u00a0 \u00a0&quot;cid&quot;:2025,\n\u00a0 \u00a0 \u00a0&quot;wid&quot;:2046\n\u00a0}\n\u00a0\u200b\n\u00a0# 1. Sort by key\n\u00a0# data = [&quot;{}={}&quot;.format(key, v4[key]) for key in sorted(v4.keys())]\n\u00a0\u200b\n\u00a0# 2. Then concatenate\n\u00a0# result = &quot;&amp;&quot;.join(data)\n\u00a0\u200b\n\u00a0result = &quot;&amp;&quot;.join([&quot;{}={}&quot;.format(key, v4[key]) for key in sorted(v4.keys())])\n\u00a0print(result)<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-567b9a9c');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-b0628b78\"\n     id=\"betterdocs-code-snippet-b0628b78\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-b0628b78 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\/**\n\u00a0 * @author calleng\n\u00a0 * @version 1.0\n\u00a0 * @date 2024\/07\/05 18:44\n\u00a0 * @desc Demonstrates different ways to create and use HashMaps in Java\n\u00a0 *\/\n\u00a0\u200b\n\u00a0import java.util.HashMap;\n\u00a0\u200b\n\u00a0public class LookUp {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Example 1: Raw HashMap without generics\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashMap h1 = new HashMap();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;name&quot;,&quot;bob&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;age&quot;,39);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;gender&quot;,&quot;male&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(h1); \/\/ {gender = male, name = bob, age = 39}\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Example 2: HashMap with generics (String, String)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashMap&lt;String,String&gt; h2 = new HashMap&lt;String,String&gt;();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;name&quot;,&quot;alice&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;age&quot;,&quot;18&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;gender&quot;,&quot;female&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(h2); \/\/ {gender = female, name = alice, age = 18} \u2705 corrected comment\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Example 3: Anonymous inner class with initializer block\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashMap&lt;String,String&gt; h3 = new HashMap&lt;String,String&gt;(){\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;name&quot;,&quot;charles&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;age&quot;,&quot;42&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;gender&quot;,&quot;male&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0 \u00a0 \u00a0  };\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(h3); \/\/ {gender = male, name = charles, age = 42}\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-b0628b78');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-428ea65b\"\n     id=\"betterdocs-code-snippet-428ea65b\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-428ea65b .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\/**\n\u00a0 * @author calleng\n\u00a0 * @version 1.0\n\u00a0 * @date 2024\/07\/05 18:44\n\u00a0 * @desc Example of using HashMap and Map in Java\n\u00a0 *\/\n\u00a0\u200b\n\u00a0import java.util.HashMap;\n\u00a0import java.util.Map;\n\u00a0\u200b\n\u00a0public class LookUp {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Raw HashMap without generics\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashMap h1 = new HashMap();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;name&quot;,&quot;timcook&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;age&quot;,64);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;gender&quot;,&quot;male&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(h1); \/\/ {gender = male, name = timcook, age = 64}\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ HashMap with &lt;String, String&gt;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashMap&lt;String,String&gt; h2 = new HashMap&lt;String,String&gt;();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;name&quot;,&quot;masayoshison&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;age&quot;,&quot;68&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;gender&quot;,&quot;male&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(h2); \/\/ {gender = male, name = masayoshison, age = 68}\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ \u274c Problem here:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ You declared Map &lt;String, Integer&gt;, but tried to put String values (&quot;jackma&quot;, &quot;male&quot;).\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ This will cause a compilation error, because &quot;jackma&quot; and &quot;male&quot; are not Integers.\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Correct approach should be &lt;String, String&gt; if you want to store string values.\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/*\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Map &lt;String,Integer&gt; h3 = new HashMap &lt;String,Integer&gt;(){\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;name&quot;, &quot;jackma&quot;); \u00a0 \/\/ ERROR: &quot;jackma&quot; is not Integer\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;age&quot;,60); \u00a0 \u00a0 \u00a0 \u00a0  \/\/ OK\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;gender&quot;, &quot;male&quot;); \u00a0 \/\/ ERROR: &quot;male&quot; is not Integer\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0};\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Direct map usage -&gt; &quot; + h3);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ \u274c Same problem: declared HashMap &lt;String, Integer&gt; but storing Strings\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/*\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0HashMap &lt;String,Integer&gt; h4 = new HashMap &lt;String,Integer&gt;(){\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;name&quot;, &quot;samaltman&quot;); \u00a0 \/\/ ERROR\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;age&quot;,40); \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ OK\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0put(&quot;gender&quot;, &quot;male&quot;); \u00a0 \u00a0  \/\/ ERROR\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0};\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;String, Integer type -&gt; &quot; + h4);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0*\/\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-428ea65b');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>Common Operations:<\/strong><\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-c2eeca68\"\n     id=\"betterdocs-code-snippet-c2eeca68\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-c2eeca68 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0import java.util.*;\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeMap h1 = new TreeMap(); \/\/ Changed to TreeMap\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;name&quot;, &quot;alex&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;age&quot;, &quot;18&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;hobby&quot;, &quot;openai&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.put(&quot;academy&quot;, &quot;sandford&quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.remove(&quot;age&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0int size = h1.size();\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object value = h1.get(&quot;name&quot;); \/\/ If the key does not exist, returns null\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(value);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0boolean existsKey = h1.containsKey(&quot;age&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0boolean existsValue = h1.containsValue(&quot;alex&quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h1.replace(&quot;name&quot;, &quot;timecook&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(h1);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Loop: Example 1\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ { (&quot;name&quot;, &quot;samaltman&quot;), (&quot;age&quot;, &quot;40&quot;) }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Set&lt;Map.Entry&lt;String, String&gt;&gt; s1 = h1.entrySet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Iterator it1 = s1.iterator();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0while (it1.hasNext()) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ (&quot;name&quot;, &quot;samaltman&quot;)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Map.Entry&lt;String, String&gt; entry = (Map.Entry&lt;String, String&gt;) it1.next();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String k = (String) entry.getKey();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String v = (String) entry.getValue();\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Loop: Example 2\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Set s2 = h1.entrySet();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Iterator it2 = s2.iterator();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0while (it2.hasNext()) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Map.Entry entry = (Map.Entry) it2.next();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String k = (String) entry.getKey();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String v = (String) entry.getValue();\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Loop: Example 3\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeMap&lt;String, String&gt; h2 = new TreeMap&lt;String, String&gt;(); \/\/ Changed to TreeMap\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;name&quot;, &quot;billgates&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h2.put(&quot;age&quot;, &quot;69&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (Map.Entry&lt;String, String&gt; entry : h2.entrySet()) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String k = entry.getKey();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String v = entry.getValue();\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Loop: Example 4\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0TreeMap h3 = new TreeMap(); \/\/ Changed to TreeMap\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h3.put(&quot;name&quot;, &quot;joebiden&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0h3.put(&quot;age&quot;, 82);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0for (Object entry : h3.entrySet()) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Map.Entry&lt;String, Object&gt; entryMap = (Map.Entry&lt;String, Object&gt;) entry;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0String k = entryMap.getKey();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Object v = entryMap.getValue(); \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0if (v instanceof Integer) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Number: &quot; + Integer.toString((Integer) v));\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  } else if (v instanceof String) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;String: &quot; + (String) v);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  } else {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Unknown type: &quot; + v.toString());\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0 \u00a0 \u00a0  }\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-c2eeca68');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">2. Object-Oriented Programming<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Python<\/strong>: Supports both functional and object-oriented programming.<\/li>\n\n\n\n<li><strong>Java<\/strong>: Purely object-oriented.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Classes and Objects<\/h3>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-rvuoxf7\"\n     id=\"betterdocs-code-snippet-rvuoxf7\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-rvuoxf7 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Person {\n\u00a0 \u00a0 \u00a0\/\/ Instance variables\n\u00a0 \u00a0 \u00a0public String name;\n\u00a0 \u00a0 \u00a0public Integer age;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 1\n\u00a0 \u00a0 \u00a0public Person() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = &quot;Donald Trump&quot;;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = 79;\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0Person obj = new Person();<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-rvuoxf7');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-vtxzdfs\"\n     id=\"betterdocs-code-snippet-vtxzdfs\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-vtxzdfs .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Person:\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0# Initialization method: \n\u00a0 \u00a0 \u00a0# 1. __new__ method: constructor method that creates an empty object \n\u00a0 \u00a0 \u00a0# 2. __init__ method: initializer\n\u00a0 \u00a0 \u00a0def __init__(self):\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0self.name = &quot;obama&quot;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0self.age = 64\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0obj = Person()\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-vtxzdfs');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-4ksniks\"\n     id=\"betterdocs-code-snippet-4ksniks\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-4ksniks .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Person {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Instance variables\n\u00a0 \u00a0 \u00a0public String name;\n\u00a0 \u00a0 \u00a0public Integer age;\n\u00a0 \u00a0 \u00a0public String email;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 1\n\u00a0 \u00a0 \u00a0public Person() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = &quot;Obama&quot;;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = 64;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 2\n\u00a0 \u00a0 \u00a0public Person(String name, Integer age) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = name;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = age;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.email = &quot;google@yahoo.com&quot;;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 3\n\u00a0 \u00a0 \u00a0public Person(String name, String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = name;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = 83;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.email = email;\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0Person obj1 = new Person(&quot;donald trump&quot;, 79);\n\u00a0Person obj2 = new Person();\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-4ksniks');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-m1qnydx\"\n     id=\"betterdocs-code-snippet-m1qnydx\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-m1qnydx .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Person {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Instance variables\n\u00a0 \u00a0 \u00a0public String fullName;\n\u00a0 \u00a0 \u00a0public Integer age;\n\u00a0 \u00a0 \u00a0public String emailAddress;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 1 (no arguments)\n\u00a0 \u00a0 \u00a0public Person() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.fullName = &quot;Eric&quot;;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = 99999;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 2 (name + age)\n\u00a0 \u00a0 \u00a0public Person(String fullName, Integer age) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.fullName = fullName;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = age;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.emailAddress = &quot;example@live.com&quot;;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 3 (name + email)\n\u00a0 \u00a0 \u00a0public Person(String fullName, String emailAddress) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.fullName = fullName;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = 83;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.emailAddress = emailAddress;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Method (overloaded) - no parameters\n\u00a0 \u00a0 \u00a0public void introduce() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(this.fullName);\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Method (overloaded) - with prefix\n\u00a0 \u00a0 \u00a0public void introduce(String prefix) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String text = String.format(&quot;%s%s&quot;, prefix, this.fullName);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(text);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ When instantiating objects, encapsulation is demonstrated\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Person person1 = new Person();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Person person2 = new Person(&quot;Alex Johnson&quot;, 73);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Person person3 = new Person(&quot;Tony Smith&quot;, &quot;tony.smith@example.com&quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person1.introduce();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person1.introduce(&quot;Hello, &quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person2.introduce();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person2.introduce(&quot;Hello, &quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person3.introduce();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person3.introduce(&quot;Hello, &quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-m1qnydx');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 Static Members \u2014 Static Belong to the Class; Non-Static Belong to the Object<\/h3>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-qahpi0l\"\n     id=\"betterdocs-code-snippet-qahpi0l\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-qahpi0l .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Person:\n\u00a0 \u00a0 \u00a0school_name = &quot;Tsinghua University&quot; \u00a0 # Static variable (belongs to the class, independent of any object)\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0def __init__(self):\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0self.full_name = &quot;Alice&quot; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0# Instance variable (belongs to the object)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\n\u00a0\u200b\n\u00a0# Access the static variable directly via the class\n\u00a0print(Person.school_name)\n\u00a0\u200b\n\u00a0# 1. Create an empty object in memory\n\u00a0# 2. Automatically call the constructor (__init__)\n\u00a0student = Person()\n\u00a0print(student.full_name) \u00a0 # Access instance variable\n\u00a0print(student.school_name) # Access static variable (still works through the object)\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-qahpi0l');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-hofqwmt\"\n     id=\"betterdocs-code-snippet-hofqwmt\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-hofqwmt .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Person {\n\u00a0 \u00a0 \u00a0\/\/ Static variable\n\u00a0 \u00a0 \u00a0public static String city = &quot;New York&quot;;\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0\/\/ Instance variables\n\u00a0 \u00a0 \u00a0public String name;\n\u00a0 \u00a0 \u00a0public Integer age;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Constructor 1\n\u00a0 \u00a0 \u00a0public Person() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = &quot;Alice&quot;;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = 30;\n\u00a0 \u00a0  }\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0\/\/ Instance method\n\u00a0 \u00a0 \u00a0public void showInfo() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Name: &quot; + this.name + &quot;, Age: &quot; + this.age + &quot;, City: &quot; + city);\n\u00a0 \u00a0  }\n\u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0\/\/ Static method\n\u00a0 \u00a0 \u00a0public static void showData() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;All persons live in &quot; + city);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Access static variable\n\u00a0Person.city;\n\u00a0\u200b\n\u00a0\/\/ Call static method\n\u00a0Person.showData();\n\u00a0\u200b\n\u00a0\/\/ Create object\n\u00a0Person obj = new Person();\n\u00a0obj.name;\n\u00a0obj.age;\n\u00a0obj.showInfo();\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-hofqwmt');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>Essence:<\/strong> Static members belong to the class, while non-static members belong to the object.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 Inheritance \u2013 A Class Only Supports <strong>Single Inheritance<\/strong><\/h3>\n\n\n\n<p>In Java, inheritance only supports <strong>single inheritance<\/strong>.It does not support multiple inheritance, but it does support implementing multiple interfaces. <br>\/\/Overloading: When a class contains multiple methods with the same method name but with different numbers or types of parameters. \/\/Overriding: When a subclass redefines a method that already exists in its parent class.<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-tat3k4q\"\n     id=\"betterdocs-code-snippet-tat3k4q\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-tat3k4q .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Animal {\n\u00a0 \u00a0  ...\n\u00a0}\n\u00a0\u200b\n\u00a0class Vehicle {\n\u00a0 \u00a0  ...\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Single inheritance\n\u00a0class Dog extends Animal {\n\u00a0 \u00a0  ...\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-tat3k4q');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-qhc5511\"\n     id=\"betterdocs-code-snippet-qhc5511\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-qhc5511 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0interface Addable {\n\u00a0 \u00a0 \u00a0public void add();\n\u00a0}\n\u00a0\u200b\n\u00a0interface Multipliable {\n\u00a0 \u00a0 \u00a0public void multiply();\n\u00a0}\n\u00a0\u200b\n\u00a0class Calculator implements Addable, Multipliable {\n\u00a0 \u00a0 \u00a0public void add() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ implementation\n\u00a0 \u00a0  }\n\u00a0 \u00a0 \u00a0public void multiply() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ implementation\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-qhc5511');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>In <strong>Python<\/strong>, multiple inheritance is supported:<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-737diw3\"\n     id=\"betterdocs-code-snippet-737diw3\"\n     data-language=\"python\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\ud83d\udc0d<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">python<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-737diw3 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-python\"><code>\u00a0class Dog(Animal, Pet):\n\u00a0 \u00a0 \u00a0pass\n\u00a0\u200b\n\u00a0class Calculator(Addable, Multipliable):\n\u00a0 \u00a0 \u00a0pass\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-737diw3');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-jo7dlrs\"\n     id=\"betterdocs-code-snippet-jo7dlrs\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-jo7dlrs .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0class Account {\n\u00a0 \u00a0 \u00a0public String email;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public Account(String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.email = email;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public String getAccountInfo() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0return String.format(&quot;%s&quot;, this.email);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Example usage:\n\u00a0\/\/ Account acc = new Account(&quot;test@example.com&quot;);\n\u00a0\/\/ acc.email; \u00a0 \u00a0 \u00a0  \/\/ &quot;test@example.com&quot;\n\u00a0\/\/ acc.getAccountInfo();  \/\/ &quot;test@example.com&quot;\n\u00a0\u200b\n\u00a0class Person extends Account {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public String name;\n\u00a0 \u00a0 \u00a0public Integer age;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public Person(String name, Integer age, String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0super(email); \/\/ calls parent constructor\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = name;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = age;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public String getProfile(String prefix) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0return String.format(&quot;%s-%d-%s&quot;, this.name, this.age, this.email);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Example usage:\n\u00a0Person president = new Person(&quot;Joe Biden&quot;, 82, &quot;joebiden@google.com&quot;);\n\u00a0\u200b\n\u00a0\/\/ president.name; \u00a0 \/\/ &quot;Joe Biden&quot;\n\u00a0\/\/ president.age; \u00a0  \/\/ 82\n\u00a0\/\/ president.email;  \/\/ &quot;joebiden@google.com&quot;\n\u00a0\u200b\n\u00a0\/\/ president.getProfile(&quot;prefix&quot;); \u00a0 \/\/ &quot;Joe Biden-82-joebiden@google.com&quot;\n\u00a0\/\/ president.getAccountInfo(); \u00a0 \u00a0 \u00a0 \/\/ &quot;joebiden@google.com&quot;\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-jo7dlrs');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>Using a parent class to refer to all of its subclasses.<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-dc3lsn0\"\n     id=\"betterdocs-code-snippet-dc3lsn0\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-dc3lsn0 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\/\/ Base class\n\u00a0class Base {\n\u00a0 \u00a0 \u00a0public void show() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;This is Base class&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Subclass Person extends Base\n\u00a0class Person extends Base {\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public void show() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;This is Person class&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Person personObj = new Person();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0personObj.show(); \/\/ Output: This is Person class\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Base baseObj = new Base();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0baseObj.show(); \/\/ Output: This is Base class\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Base polymorphicObj = new Person();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0polymorphicObj.show(); \/\/ Output: This is Person class (polymorphism)\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-dc3lsn0');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>Example with Constructor and Fields<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-zcqxims\"\n     id=\"betterdocs-code-snippet-zcqxims\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-zcqxims .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\/\/ Base class\n\u00a0class Base {\n\u00a0 \u00a0 \u00a0public String email;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public Base(String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.email = email;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public void getSubInfo() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Base Info: &quot; + email);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Person class inherits from Base\n\u00a0class Person extends Base {\n\u00a0 \u00a0 \u00a0public String name;\n\u00a0 \u00a0 \u00a0public int age;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public Person(String name, int age, String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0super(email); \/\/ call parent constructor\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.name = name;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = age;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public void getSubInfo() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Person Info: &quot; + name + &quot;, &quot; + age + &quot;, &quot; + email);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0public class Hello {\n\u00a0 \u00a0 \u00a0public static void handler(Base obj) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0obj.getSubInfo(); \/\/ Demonstrates polymorphism\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Person person1 = new Person(&quot;Alice&quot;, 30, &quot;alice@example.com&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0handler(person1); \/\/ Output: Person Info: Alice, 30, alice@example.com\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Base base1 = new Base(&quot;contact@example.com&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0handler(base1); \/\/ Output: Base Info: contact@example.com\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Base person2AsBase = new Person(&quot;Bob&quot;, 25, &quot;bob@example.com&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0handler(person2AsBase); \/\/ Output: Person Info: Bob, 25, bob@example.com\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-zcqxims');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 Interfaces \u2014 A Class Can Implement Multiple Interfaces<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Constrains the implementing class by requiring it to include specific members<\/li>\n\n\n\n<li>Generally refers to the objects created by the implementing class<\/li>\n\n\n\n<li>Contains no implementation itself<\/li>\n\n\n\n<li>A single class can implement multiple interfaces<\/li>\n<\/ul>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-56h8pnw\"\n     id=\"betterdocs-code-snippet-56h8pnw\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-56h8pnw .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0interface MessageService {\n\u00a0 \u00a0 \u00a0public void send();\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ The WeChat class &quot;implements&quot; the MessageService interface\n\u00a0class WeChat implements MessageService {\n\u00a0 \u00a0 \u00a0public void send() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Sending a message via WeChat&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0class DingTalk implements MessageService {\n\u00a0 \u00a0 \u00a0public void send() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Sending a message via DingTalk&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0class SMS implements MessageService {\n\u00a0 \u00a0 \u00a0public void send() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Sending a text message via SMS&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Example usage\n\u00a0WeChat wechatService = new WeChat();\n\u00a0MessageService messageService = new WeChat();\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-56h8pnw');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-f07c049b\"\n     id=\"betterdocs-code-snippet-f07c049b\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-f07c049b .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0public class Hello {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Polymorphism -&gt; multiple forms of IMessage\n\u00a0 \u00a0 \u00a0public static void handleMessage(IMessage message) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0message.send();\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Main function\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Sms smsMessage = new Sms();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0handleMessage(smsMessage);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-f07c049b');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>In Java: multiple class inheritance is not supported; implementing multiple interfaces is supported.<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-gfljen4\"\n     id=\"betterdocs-code-snippet-gfljen4\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-gfljen4 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0interface PersonActions {\n\u00a0 \u00a0 \u00a0void speak();\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0void speak(int age);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0void describe(String details);\n\u00a0}\n\u00a0\u200b\n\u00a0interface UserActions {\n\u00a0 \u00a0 \u00a0String generateUserId(int id);\n\u00a0}\n\u00a0\u200b\n\u00a0class User {\n\u00a0 \u00a0 \u00a0public String fullName;\n\u00a0 \u00a0 \u00a0public Integer age;\n\u00a0 \u00a0 \u00a0public String email;\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public User(String fullName, Integer age, String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.fullName = fullName;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.age = age;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0this.email = email;\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public String getContactInfo() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0return String.format(&quot;Email: %s&quot;, this.email);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0class Person extends User implements UserActions, PersonActions {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public Person(String fullName, Integer age, String email) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0super(fullName, age, email);\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public String getProfile() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0return String.format(&quot;Name: %s | Age: %d | Email: %s&quot;, this.fullName, this.age, this.email);\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public void speak() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Speaking with no parameters.&quot;);\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public void speak(int age) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Speaking with age parameter: &quot; + age);\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public void describe(String details) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Description: &quot; + details);\n\u00a0 \u00a0  }\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public String generateUserId(int id) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0return &quot;USER-&quot; + id;\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0public class HelloWorld {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0Person person = new Person(&quot;Donald Trump&quot;, 79, &quot;donaldtrump@live.com&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person.speak();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person.speak(79);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0person.describe(&quot;Former U.S. President&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(person.getProfile());\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Generated ID: &quot; + person.generateUserId(2026));\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-gfljen4');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>Suppose I am doing reverse engineering and have obtained an APK. I search for a keyword, such as <code>printInfo<\/code>, and locate an interface:<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-f5p9mou\"\n     id=\"betterdocs-code-snippet-f5p9mou\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-f5p9mou .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0interface Person {\n\u00a0 \u00a0 \u00a0public void showName();\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public void showAge(int age);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public void printInfo(String details);\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-f5p9mou');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>The next step is to check which classes implement the <code>Person<\/code> interface.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If <strong>only one class<\/strong> implements <code>Person<\/code>, then that class is the target.<\/li>\n\n\n\n<li>If <strong>multiple classes<\/strong> implement the <code>Person<\/code> interface, you need to filter and determine which specific class is the one of interest.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.5 Abstraction \u2014 (Inheritance + Interfaces) <img decoding=\"async\" alt=\"SCR-20241018-uknp\" src=\"\">)<\/h3>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-sgrvm64\"\n     id=\"betterdocs-code-snippet-sgrvm64\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-sgrvm64 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\/\/ Abstract class\n\u00a0abstract class MediaPlayer {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Abstract method (forces subclasses to implement this method)\n\u00a0 \u00a0 \u00a0public abstract void play(String trackName);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0\/\/ Normal method\n\u00a0 \u00a0 \u00a0public void stop() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Stop&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\/\/ Subclass\n\u00a0class AudioPlayer extends MediaPlayer {\n\u00a0 \u00a0 \u00a0@Override\n\u00a0 \u00a0 \u00a0public void play(String trackName) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(&quot;Playing: &quot; + trackName);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0public class Main {\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0AudioPlayer player = new AudioPlayer();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0player.stop();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0player.play(&quot;Song A&quot;);\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/ Base class reference can also point to a subclass\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0MediaPlayer genericPlayer = new AudioPlayer();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0genericPlayer.play(&quot;Song B&quot;);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-sgrvm64');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p><strong>Note:<\/strong> A base class reference can also generally refer to its subclasses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3.Package Concept<\/h2>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-pbmg8hp\"\n     id=\"betterdocs-code-snippet-pbmg8hp\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-pbmg8hp .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0src\n\u00a0\u251c\u2500\u2500 MainApp.java\n\u00a0\u2514\u2500\u2500 utils\n\u00a0 \u00a0  \u2514\u2500\u2500 MessageUtils.java<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-pbmg8hp');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-ekre8g1\"\n     id=\"betterdocs-code-snippet-ekre8g1\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-ekre8g1 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\/\/ MainApp.java\n\u00a0\u200b\n\u00a0import utils.MessageUtils;\n\u00a0\u200b\n\u00a0public class MainApp {\n\u00a0\u200b\n\u00a0 \u00a0 \u00a0public static void main(String[] args) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0String message = MessageUtils.getMessage();\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(message);\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-ekre8g1');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-ud7i4y1\"\n     id=\"betterdocs-code-snippet-ud7i4y1\"\n     data-language=\"java\"\n     data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                                    <div class=\"betterdocs-file-icon\">\n                                                    <span class=\"betterdocs-file-icon-emoji\">\u2615<\/span>\n                                            <\/div>\n                \n                                    <div class=\"betterdocs-file-name\">\n                        <span class=\"file-name-text\">java<\/span>\n                    <\/div>\n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\"\n                            type=\"button\"\n                            data-clipboard-target=\"#betterdocs-code-snippet-ud7i4y1 .betterdocs-code-snippet-code code\"\n                            aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"\/>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-java\"><code>\u00a0\/\/ MessageUtils.java\n\u00a0\u200b\n\u00a0package utils;\n\u00a0\u200b\n\u00a0public class MessageUtils {\n\u00a0 \u00a0 \u00a0public static String getMessage() {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0return &quot;Joe Biden&quot;;\n\u00a0 \u00a0  }\n\u00a0}\n\u00a0\u200b\n\u00a0\u200b<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-ud7i4y1');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>Class Modifiers<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>public<\/strong> \u2013 Public, can be accessed by anyone from any package.<\/li>\n\n\n\n<li><strong>default<\/strong> \u2013 No modifier; can only be accessed within the same package.<\/li>\n<\/ul>\n\n\n\n<p>Class Member Modifiers<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>public<\/strong> \u2013 Public, accessible to all classes that can access the class itself.<\/li>\n\n\n\n<li><strong>private<\/strong> \u2013 Private, accessible only within the same class.<\/li>\n\n\n\n<li><strong>protected<\/strong> \u2013 Accessible within the same package, or by subclasses (even if they are in a different package).<\/li>\n\n\n\n<li><strong>default<\/strong> \u2013 No modifier; accessible only within the same package.<\/li>\n<\/ul>\n\n\n\n<p><strong>Purpose:<\/strong> Using modifiers makes the calling and access relationships clearer. (However, in many projects, these modifiers are not always used in a very strict or \u201ctextbook\u201d way.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today\u2019s Summary: About Object In Python, every class by default inherits from the Object class (all classes are subclasses of Object). In Java, all classes also by default inherit from the Object class.A base class can be used to generally refer to the types of its subclasses. So, if you want to declare an array&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"default","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"doc_category":[15],"glossaries":[],"doc_tag":[],"knowledge_base":[12],"class_list":["post-92","docs","type-docs","status-publish","hentry","doc_category-java_basic","knowledge_base-cpp_c_java_arm64_javascript"],"year_month":"2026-05","word_count":692,"total_views":"737","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"display_name":"sandbox","author_link":"https:\/\/www.nullflag.com\/support\/author\/sandbox\/"},"doc_category_info":[{"term_name":"Java Basic Knowledge","term_url":"https:\/\/www.nullflag.com\/support\/kb\/cpp_c_java_arm64_javascript\/java_basic\/"}],"doc_tag_info":[],"taxonomy_info":{"doc_category":[{"value":15,"label":"Java Basic Knowledge"}],"knowledge_base":[{"value":12,"label":"Cpp\/C\/Java\/Arm64ASM\/JavaScript"}]},"featured_image_src_large":false,"comment_info":0,"knowledge_base_info":[{"term_name":"Cpp\/C\/Java\/Arm64ASM\/JavaScript","term_url":"https:\/\/www.nullflag.com\/support\/kb\/cpp_c_java_arm64_javascript\/","term_slug":"cpp_c_java_arm64_javascript"}],"knowledge_base_slug":["cpp_c_java_arm64_javascript"],"_links":{"self":[{"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/docs\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/comments?post=92"}],"version-history":[{"count":13,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/docs\/92\/revisions"}],"predecessor-version":[{"id":179,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/docs\/92\/revisions\/179"}],"wp:attachment":[{"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/doc_category?post=92"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/glossaries?post=92"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/doc_tag?post=92"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/www.nullflag.com\/support\/wp-json\/wp\/v2\/knowledge_base?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}