{"id":4630,"date":"2019-10-21T00:55:50","date_gmt":"2019-10-20T15:55:50","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=4630"},"modified":"2023-11-13T01:14:20","modified_gmt":"2023-11-12T16:14:20","slug":"java-instanceof","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/vi\/blog\/java\/phien-ban-java","title":{"rendered":"Ki\u1ec3m tra lo\u1ea1i bi\u1ebfn Java b\u1eb1ng instanceof"},"content":{"rendered":"<h2>Ki\u1ec3m tra lo\u1ea1i bi\u1ebfn<\/h2>\n\n\n\n<p>Gi\u1edbi thi\u1ec7u ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu \u0111\u1ec3 ki\u1ec3m tra lo\u1ea1i bi\u1ebfn trong Java.<\/p>\n\n\n\n<p>Java l\u00e0 m\u1ed9t ng\u00f4n ng\u1eef \u0111\u01b0\u1ee3c g\u00f5 t\u0129nh, khai b\u00e1o c\u00e1c ki\u1ec3u m\u1ed9t c\u00e1ch r\u00f5 r\u00e0ng, do \u0111\u00f3 kh\u00f4ng c\u00f3 c\u01a1 h\u1ed9i \u0111\u1ec3 ki\u1ec3m tra nhi\u1ec1u ki\u1ec3u nh\u01b0 v\u1eady. Tuy nhi\u00ean, vi\u1ec7c ki\u1ec3m tra ki\u1ec3u c\u00f3 th\u1ec3 c\u1ea7n thi\u1ebft khi s\u1eed d\u1ee5ng c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u01b0\u1ee3c k\u1ebf th\u1eeba.<\/p>\n\n\n\n<p>C\u00e1ch ki\u1ec3m tra c\u00e1c lo\u1ea1i trong Java <strong>v\u00ed d\u1ee5<\/strong> B\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00e1c to\u00e1n t\u1eed, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u00e1nh gi\u00e1 c\u00e1c l\u1edbp v\u00e0 giao di\u1ec7n b\u1eb1ng c\u00e1c c\u00e2u l\u1ec7nh if, v.v. nh\u01b0 minh h\u1ecda b\u00ean d\u01b0\u1edbi.<\/p>\n\n\n\n<div class=\"wp-block-group is-style-big_icon_good\"><div class=\"wp-block-group__inner-container\">\n<p><em>Bi\u1ebfn \u0111\u1ed5i<\/em> l\u1edbp instanceof<\/p>\n\n\n\n<p><em>Bi\u1ebfn \u0111\u1ed5i<\/em> giao di\u1ec7n instanceof<\/p>\n<\/div><\/div>\n\n\n\n<p><strong>v\u00ed d\u1ee5<\/strong> T\u00ean l\u1edbp ho\u1eb7c t\u00ean giao di\u1ec7n c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh \u1edf b\u00ean ph\u1ea3i c\u1ee7a t\u1ec7p .<strong>v\u00ed d\u1ee5<\/strong> Gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1 l\u00e0 boolean; n\u1ebfu \u0111\u00fang, bi\u1ebfn \u0111\u00f3 l\u00e0 l\u1edbp ho\u1eb7c giao di\u1ec7n \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh.<\/p>\n\n\n\n<div class=\"recommend\">\n<p><a href=\"javascript:clickAdd()\">Tr\u00f2 chuy\u1ec7n &amp; Nh\u1eafn tin<\/a> l\u00e0 ph\u1ea7n m\u1ec1m nh\u00f3m t\u00edch h\u1ee3p tr\u00f2 chuy\u1ec7n kinh doanh, h\u1ed9i th\u1ea3o tr\u00ean web, chia s\u1ebb t\u1ec7p, qu\u1ea3n l\u00fd l\u1ecbch tr\u00ecnh, qu\u1ea3n l\u00fd t\u00e0i li\u1ec7u, \u0111\u1eb7t ph\u00f2ng h\u1ed9i ngh\u1ecb v\u00e0 qu\u1ea3n l\u00fd \u0111i\u1ec3m danh theo c\u00e1ch d\u1ec5 s\u1eed d\u1ee5ng. B\u1ea3o m\u1eadt ho\u00e0n h\u1ea3o cho doanh nghi\u1ec7p,<mark>C\u00f3 s\u1eb5n mi\u1ec5n ph\u00ed!<\/mark><\/p>\n<a href=\"javascript:clickAdd()\"><img style=\"margin:10px;box-shadow: var(--swl-box_shadow);\" src=\"\/images\/cam-top-banner.png\" width=\"700\"><\/a>\n<\/div>\n\n\n\n<h2>ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu<\/h2>\n\n\n\n<p>H\u00e3y b\u1eaft \u0111\u1ea7u v\u1edbi m\u1eabu \u0111\u01a1n gi\u1ea3n nh\u1ea5t. Tr\u1ea3 v\u1ec1 true n\u1ebfu bi\u1ebfn i l\u00e0 S\u1ed1 nguy\u00ean, ng\u01b0\u1ee3c l\u1ea1i l\u00e0 false.<\/p>\n\n\n\n<h4>m\u00e3 m\u1eabu<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-java\" data-lang=\"Java\"><code>public static void integerSample() {\n    Integer i = 100;\n    boolean result = i instanceof Integer;\n    System.out.println(result);\n}<\/code><\/pre><\/div>\n\n\n\n<h4>K\u1ebft qu\u1ea3 \u0111\u1ea7u ra<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>true<\/code><\/pre><\/div>\n\n\n\n<p>Bi\u1ebfn i l\u00e0 S\u1ed1 nguy\u00ean n\u00ean k\u1ebft qu\u1ea3 l\u00e0 \u0111\u00fang. Tuy nhi\u00ean, \u0111i\u1ec1u n\u00e0y qu\u00e1 r\u00f5 r\u00e0ng v\u00e0 t\u00f4i kh\u00f4ng bi\u1ebft instanceof d\u00f9ng \u0111\u1ec3 l\u00e0m g\u00ec, v\u00ec v\u1eady h\u00e3y l\u00e0m cho n\u00f3 ph\u1ee9c t\u1ea1p h\u01a1n m\u1ed9t ch\u00fat.<\/p>\n\n\n\n<h2>S\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 instanceof<\/h2>\n\n\n\n<p>M\u1ed9t c\u00e1ch s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 c\u1ee7a instanceof l\u00e0 x\u00e1c \u0111\u1ecbnh bi\u1ebfn thu\u1ed9c v\u1ec1 l\u1edbp con n\u00e0o.<\/p>\n\n\n\n<h4>m\u00e3 m\u1eabu<\/h4>\n\n\n\n<p>Trong m\u00e3 m\u1eabu, ch\u00fang ta t\u1ea1o m\u1ed9t l\u1edbp \u0111\u1ed9ng v\u1eadt Animal, m\u1ed9t l\u1edbp Dog k\u1ebf th\u1eeba t\u1eeb l\u1edbp \u0111\u1ed9ng v\u1eadt v\u00e0 m\u1ed9t l\u1edbp Cat, sau \u0111\u00f3 t\u1ea1o m\u1ed9t phi\u00ean b\u1ea3n, \u0111\u1eb7t c\u00e1c bi\u1ebfn trong ph\u01b0\u01a1ng th\u1ee9c play. <strong>v\u00ed d\u1ee5<\/strong> \u0110\u1ea7u ra c\u1ee7a b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n \u0111\u01b0\u1ee3c ph\u00e2n nh\u00e1nh d\u1ef1a tr\u00ean ph\u00e1n \u0111o\u00e1n. <\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-java\" data-lang=\"Java\"><code>class Animal {} \nclass Dog extends Animal {}\nclass Cat extends Animal {}\n\npublic class Main {\n    public static void main(String[] args) {\n        instanceofSample();\n    }\n    \n    static void instanceofSample() {\n        Animal dog = new Dog();\n        play(dog);\n        Animal cat = new Cat();\n        play(cat);\n    }\n    \n    static void play(Animal animal) {\n        if (animal instanceof Dog) {\n            System.out.println(&quot;\u304a\u6563\u6b69\u3059\u308b&quot;);\n        } else {\n            System.out.println(&quot;\u732b\u3058\u3083\u3089\u3057\u3067\u904a\u3076&quot;);\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<h4>K\u1ebft qu\u1ea3 \u0111\u1ea7u ra<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>\u304a\u6563\u6b69\u3059\u308b\n\u732b\u3058\u3083\u3089\u3057\u3067\u904a\u3076<\/code><\/pre><\/div>\n\n\n\n<p>\u0110i\u1ec3m m\u1ea5u ch\u1ed1t trong ph\u01b0\u01a1ng ph\u00e1p ch\u01a1i l\u00e0 kh\u00f4ng r\u00f5 con v\u1eadt \u0111\u01b0\u1ee3c \u0111\u01b0a ra l\u00e0m \u0111\u1ed1i s\u1ed1 l\u00e0 ch\u00f3 hay m\u00e8o.<\/p>\n\n\n\n<p><strong>v\u00ed d\u1ee5<\/strong> B\u00e2y gi\u1edd, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ki\u1ec3m tra c\u00e1c phi\u00ean b\u1ea3n c\u1ee7a l\u1edbp con (Ch\u00f3 ho\u1eb7c M\u00e8o) c\u00f3 trong si\u00eau l\u1edbp (\u0110\u1ed9ng v\u1eadt), \u0111\u1ec3 b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u00f3 nh\u01b0 th\u1ebf n\u00e0y.<\/p>\n\n\n\n<h2>Ki\u1ec3m tra xem m\u1ed9t giao di\u1ec7n c\u1ee5 th\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c tri\u1ec3n khai hay kh\u00f4ng<\/h2>\n\n\n\n<p>B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra xem m\u1ed9t giao di\u1ec7n c\u1ee5 th\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c tri\u1ec3n khai cho bi\u1ebfn \u0111\u01b0\u1ee3c nh\u1eafm m\u1ee5c ti\u00eau b\u1edfi instanceof hay kh\u00f4ng. V\u00ed d\u1ee5, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u00f3 nh\u01b0 th\u1ebf n\u00e0y.<\/p>\n\n\n\n<h4>m\u00e3 m\u1eabu<\/h4>\n\n\n\n<p>Trong m\u00e3 m\u1eabu b\u00ean d\u01b0\u1edbi, c\u00e1c l\u1edbp d\u00e0nh cho \u00f4ng Sato v\u00e0 \u00f4ng Suzuki \u0111\u01b0\u1ee3c t\u1ea1o v\u00e0 giao di\u1ec7n Xe \u0111\u01b0\u1ee3c tri\u1ec3n khai v\u1edbi gi\u1ea3 \u0111\u1ecbnh r\u1eb1ng ch\u1ec9 c\u00f3 \u00f4ng Suzuki m\u1edbi s\u1edf h\u1eefu m\u1ed9t chi\u1ebfc \u00f4 t\u00f4. Ph\u01b0\u01a1ng th\u1ee9c goShopping() gi\u1ea3 \u0111\u1ecbnh qu\u00e1 tr\u00ecnh \u0111i mua s\u1eafm, nh\u01b0ng n\u00f3 tri\u1ec3n khai Car ho\u1eb7c ph\u00e2n nh\u00e1nh \u0111\u1ea7u ra c\u1ee7a b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n d\u1ef1a tr\u00ean instanceof.<\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-java\" data-lang=\"Java\"><code>interface Car {}\nclass Sato {}\nclass Suzuki implements Car {}\n\npublic class Main {\n    public static void main(String[] args) throws Exception {\n        instanceofSample();\n    }\n    \n    static void instanceofSample() {\n        Sato sato = new Sato();\n        goShopping(sato);\n\n        Suzuki suzuki = new Suzuki();\n        goShopping(suzuki);\n    }\n    \n    static void goShopping(Object human) {\n        if (human instanceof Car) {\n            System.out.println(&quot;\u8eca\u3067\u884c\u304f&quot;);\n        } else {\n            System.out.println(&quot;\u6b69\u3044\u3066\u884c\u304f&quot;);\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<h4>K\u1ebft qu\u1ea3 \u0111\u1ea7u ra:<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>\u6b69\u3044\u3066\u884c\u304f\n\u8eca\u3067\u884c\u304f<\/code><\/pre><\/div>\n\n\n\n<p>B\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y r\u1eb1ng c\u00e1c nh\u00e1nh x\u1eed l\u00fd t\u00f9y thu\u1ed9c v\u00e0o vi\u1ec7c Car c\u00f3 \u0111\u01b0\u1ee3c tri\u1ec3n khai hay kh\u00f4ng.<\/p>","protected":false},"excerpt":{"rendered":"<p>Ki\u1ec3m tra lo\u1ea1i bi\u1ebfn Gi\u1edbi thi\u1ec7u ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu \u0111\u1ec3 ki\u1ec3m tra lo\u1ea1i bi\u1ebfn trong Java. Java khai b\u00e1o r\u00f5 r\u00e0ng c\u00e1c ki\u1ec3u [\u2026]<\/p>","protected":false},"author":1,"featured_media":9054,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/4630"}],"collection":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/comments?post=4630"}],"version-history":[{"count":6,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/4630\/revisions"}],"predecessor-version":[{"id":9049,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/4630\/revisions\/9049"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/media\/9054"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/media?parent=4630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/categories?post=4630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/tags?post=4630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}