{"id":94488,"date":"2026-04-12T20:52:04","date_gmt":"2026-04-12T13:52:04","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=94488"},"modified":"2026-04-12T20:58:51","modified_gmt":"2026-04-12T13:58:51","slug":"extends-trong-java","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/extends-trong-java\/","title":{"rendered":"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Cu_phap_extends_trong_Java\" >C\u00fa ph\u00e1p extends trong Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Cach_hoat_dong_cua_extends_trong_Java\" >C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a extends trong Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Vi_du_su_dung_extends_trong_Java\" >V\u00ed d\u1ee5 s\u1eed d\u1ee5ng extends trong Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Cac_nguyen_tac_vang_cua_extends_trong_Java_Don_ke_thua_quan_he_IS-A\" >C\u00e1c nguy\u00ean t\u1eafc v\u00e0ng c\u1ee7a extends trong Java: \u0110\u01a1n k\u1ebf th\u1eeba &amp; quan h\u1ec7 IS-A<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Tu_khoa_extends_vs_implements_co_gi_khac_nhau\" >T\u1eeb kh\u00f3a extends vs implements c\u00f3 g\u00ec kh\u00e1c nhau?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Cac_cau_hoi_thuong_gap_ve_extends_trong_Java\" >C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 extends trong Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/#Ket_luan\" >K\u1ebft lu\u1eadn\u00a0<\/a><\/li><\/ul><\/nav><\/div>\n\n<p id=\"h-\"><strong><em>Thay v\u00ec vi\u1ebft l\u1ea1i nh\u1eefng \u0111o\u1ea1n code gi\u1ed1ng nhau cho t\u1eebng \u0111\u1ed1i t\u01b0\u1ee3ng, extends trong Java cho ph\u00e9p c\u00e1c l\u1edbp con k\u1ebf th\u1eeba l\u1ea1i t\u00e0i nguy\u00ean t\u1eeb l\u1edbp cha. \u0110i\u1ec1u n\u00e0y kh\u00f4ng ch\u1ec9 gi\u00fap t\u00e1i s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n t\u1ed1i \u0111a m\u00e0 c\u00f2n thi\u1ebft l\u1eadp m\u1ed9t h\u1ec7 th\u1ed1ng ph\u00e2n c\u1ea5p logic, gi\u00fap vi\u1ec7c qu\u1ea3n l\u00fd v\u00e0 m\u1edf r\u1ed9ng d\u1ef1 \u00e1n tr\u1edf n\u00ean c\u1ef1c k\u1ef3 hi\u1ec7u qu\u1ea3.<\/em><\/strong><\/p>\n\n\n\n<p>\u0110\u1ecdc b\u00e0i vi\u1ebft n\u00e0y \u0111\u1ec3 hi\u1ec3u th\u00eam v\u1ec1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C\u00fa ph\u00e1p extends v\u00e0 kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n c\u1ee7a k\u1ebf th\u1eeba trong Java&nbsp;<\/li>\n\n\n\n<li>C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a extends (th\u00f4ng qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf)<\/li>\n\n\n\n<li>Nguy\u00ean t\u1eafc \u0111\u01a1n k\u1ebf th\u1eeba &amp; quan h\u1ec7 IS-A<\/li>\n\n\n\n<li>So s\u00e1nh c\u00e1ch s\u1eed d\u1ee5ng extends vs implements trong Java<\/li>\n\n\n\n<li>C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 extends trong Java<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cu-phap-extends-trong-java\"><span class=\"ez-toc-section\" id=\"Cu_phap_extends_trong_Java\"><\/span><strong>C\u00fa ph\u00e1p extends trong Java<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Trong <strong><a href=\"https:\/\/itviec.com\/blog\/java-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Java<\/a><\/strong>, t\u1eeb kh\u00f3a <code>extends <\/code>\u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 thi\u1ebft l\u1eadp m\u1ed1i quan h\u1ec7 gi\u1eefa m\u1ed9t l\u1edbp m\u1edbi (l\u1edbp con) v\u00e0 m\u1ed9t l\u1edbp \u0111\u00e3 t\u1ed3n t\u1ea1i (l\u1edbp cha).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cu-phap-extends-trong-java-c\u01a1-b\u1ea3n\"><strong>C\u00fa ph\u00e1p extends trong Java c\u01a1 b\u1ea3n<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class SubClass extends SuperClass {\n   \/\/ C\u00e1c thu\u1ed9c t\u00ednh v\u00e0 ph\u01b0\u01a1ng th\u1ee9c b\u1ed5 sung\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-khai-ni\u1ec7m-c\u01a1-b\u1ea3n\"><strong>Kh\u00e1i ni\u1ec7m c\u01a1 b\u1ea3n<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ec3 l\u00e0m vi\u1ec7c hi\u1ec7u qu\u1ea3 v\u1edbi k\u1ebf th\u1eeba, b\u1ea1n c\u1ea7n n\u1eafm v\u1eefng hai kh\u00e1i ni\u1ec7m sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Superclass (L\u1edbp cha\/L\u1edbp c\u01a1 s\u1edf):<\/strong> L\u00e0 l\u1edbp ch\u1ee9a c\u00e1c thu\u1ed9c t\u00ednh v\u00e0 ph\u01b0\u01a1ng th\u1ee9c chung, \u0111\u00f3ng vai tr\u00f2 l\u00e0 ngu\u1ed3n \u0111\u1ec3 c\u00e1c l\u1edbp kh\u00e1c k\u1ebf th\u1eeba l\u1ea1i.<\/li>\n\n\n\n<li><strong>Subclass (L\u1edbp con\/L\u1edbp d\u1eabn xu\u1ea5t):<\/strong> L\u00e0 l\u1edbp th\u1ef1c hi\u1ec7n k\u1ebf th\u1eeba. N\u00f3 s\u1edf h\u1eefu t\u1ea5t c\u1ea3 c\u00e1c th\u00e0nh ph\u1ea7n (c\u00f3 ph\u1ea1m vi truy c\u1eadp ph\u00f9 h\u1ee3p) c\u1ee7a l\u1edbp cha v\u00e0 c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng th\u00eam c\u00e1c t\u00ednh n\u0103ng ri\u00eang bi\u1ec7t.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cach-ho\u1ea1t-d\u1ed9ng-c\u1ee7a-extends-trong-java\"><span class=\"ez-toc-section\" id=\"Cach_hoat_dong_cua_extends_trong_Java\"><\/span><strong>C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a extends trong Java<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>S\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>extends<\/code> kh\u00f4ng ch\u1ec9 \u0111\u01a1n thu\u1ea7n l\u00e0 k\u1ebft n\u1ed1i hai l\u1edbp, m\u00e0 n\u00f3 c\u00f2n m\u1edf ra nh\u1eefng c\u01a1 ch\u1ebf x\u1eed l\u00fd linh ho\u1ea1t sau:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-kh\u1ea3-nang-tai-s\u1eed-d\u1ee5ng-reusability\"><strong>Kh\u1ea3 n\u0103ng t\u00e1i s\u1eed d\u1ee5ng (Reusability)<\/strong><\/h3>\n\n\n\n<p>L\u1edbp con s\u1ebd t\u1ef1 \u0111\u1ed9ng s\u1edf h\u1eefu c\u00e1c thu\u1ed9c t\u00ednh v\u00e0 ph\u01b0\u01a1ng th\u1ee9c c\u00f3 ph\u1ea1m vi truy c\u1eadp <code>public<\/code> ho\u1eb7c <code>protected<\/code> t\u1eeb l\u1edbp cha.<\/p>\n\n\n\n<p><strong>V\u00ed d\u1ee5:<\/strong> N\u1ebfu l\u1edbp cha <code>NhanVien<\/code> c\u00f3 thu\u1ed9c t\u00ednh <code>ten<\/code> v\u00e0 <code>luong<\/code>, th\u00ec l\u1edbp <code>LapTrinhVien<\/code> khi k\u1ebf th\u1eeba s\u1ebd m\u1eb7c nhi\u00ean c\u00f3 hai thu\u1ed9c t\u00ednh n\u00e0y m\u00e0 kh\u00f4ng c\u1ea7n khai b\u00e1o l\u1ea1i.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ghi-de-ph\u01b0\u01a1ng-th\u1ee9c-method-overriding\"><strong>Ghi \u0111\u00e8 ph\u01b0\u01a1ng th\u1ee9c (Method Overriding)<\/strong><\/h3>\n\n\n\n<p>L\u1edbp con c\u00f3 th\u1ec3 \u0111\u1ecbnh ngh\u0129a l\u1ea1i m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c \u0111\u00e3 c\u00f3 \u1edf l\u1edbp cha \u0111\u1ec3 ph\u00f9 h\u1ee3p v\u1edbi \u0111\u1eb7c th\u00f9 c\u1ee7a n\u00f3 b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng annotation <code>@Override<\/code>.<\/p>\n\n\n\n<p>M\u1ee5c \u0111\u00edch l\u00e0 gi\u00fap l\u1edbp con thay \u0111\u1ed5i h\u00e0nh vi c\u1ee7a ph\u01b0\u01a1ng th\u1ee9c nh\u01b0ng v\u1eabn gi\u1eef nguy\u00ean t\u00ean v\u00e0 tham s\u1ed1.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-t\u1eeb-khoa-super\"><strong>T\u1eeb kh\u00f3a <\/strong><strong>super<\/strong><\/h3>\n\n\n\n<p>Trong qu\u00e1 tr\u00ecnh k\u1ebf th\u1eeba, t\u1eeb kh\u00f3a <code>super<\/code> \u0111\u00f3ng vai tr\u00f2 l\u00e0 &#8220;c\u1ea7u n\u1ed1i&#8221; ng\u01b0\u1ee3c v\u1ec1 l\u1edbp cha:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>super()<\/code><\/strong>: G\u1ecdi constructor c\u1ee7a l\u1edbp cha (ph\u1ea3i l\u00e0 d\u00f2ng \u0111\u1ea7u ti\u00ean trong constructor l\u1edbp con).<\/li>\n\n\n\n<li><strong><code>super.method()<\/code><\/strong>: G\u1ecdi m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c c\u1ee7a l\u1edbp cha khi ph\u01b0\u01a1ng th\u1ee9c \u0111\u00f3 \u0111\u00e3 b\u1ecb ghi \u0111\u00e8 \u1edf l\u1edbp con.<\/li>\n<\/ul>\n\n\n\n<p><strong>T\u00ednh \u0111a h\u00ecnh (Polymorphism)<\/strong><\/p>\n\n\n\n<p>\u0110\u00e2y l\u00e0 t\u00ednh n\u0103ng quy\u1ec1n l\u1ef1c nh\u1ea5t c\u1ee7a <code>extends<\/code>. L\u1edbp cha c\u00f3 th\u1ec3 d\u00f9ng l\u00e0m ki\u1ec3u d\u1eef li\u1ec7u tham chi\u1ebfu \u0111\u1ebfn \u0111\u1ed1i t\u01b0\u1ee3ng c\u1ee7a l\u1edbp con.<\/p>\n\n\n\n<p><strong>V\u00ed d\u1ee5:<\/strong> B\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o m\u1ed9t danh s\u00e1ch <code>NhanVien[]<\/code>. Trong danh s\u00e1ch n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 l\u01b0u tr\u1eef c\u1ea3 <code>LapTrinhVien<\/code>, <code>QuanLy<\/code> v\u00e0 <code>ThietKe<\/code>. Khi g\u1ecdi h\u00e0m <code>lamViec()<\/code>, Java s\u1ebd t\u1ef1 bi\u1ebft \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00f3 l\u00e0 ai \u0111\u1ec3 th\u1ef1c hi\u1ec7n h\u00e0nh \u0111\u1ed9ng ri\u00eang bi\u1ec7t c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00f3.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-s\u1eed-d\u1ee5ng-extends-trong-java\"><span class=\"ez-toc-section\" id=\"Vi_du_su_dung_extends_trong_Java\"><\/span><strong>V\u00ed d\u1ee5 s\u1eed d\u1ee5ng extends trong Java<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-1-k\u1ebf-th\u1eeba-d\u01a1n-gi\u1ea3n-gi\u1eefa-l\u1edbp-cha-con\"><strong>V\u00ed d\u1ee5 1: K\u1ebf th\u1eeba \u0111\u01a1n gi\u1ea3n gi\u1eefa l\u1edbp Cha \u2013 Con<\/strong><\/h3>\n\n\n\n<p>H\u00e3y c\u00f9ng xem c\u00e1ch m\u1ed9t l\u1edbp Cho (Con) k\u1ebf th\u1eeba t\u1eeb l\u1edbp DongVat (Cha):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ L\u1edbp cha (Superclass)\nclass DongVat {\n    void an() {\n        System.out.println(\"\u0110ang \u0103n...\");\n    }\n}\n\n\/\/ L\u1edbp con (Subclass) k\u1ebf th\u1eeba t\u1eeb DongVat\nclass Cho extends DongVat {\n    void sua() {\n        System.out.println(\"G\u00e2u g\u00e2u!\");\n    }\n}\n\npublic class ViDuKeThua {\n    public static void main(String&#91;] args) {\n        Cho milu = new Cho();\n        milu.an();  \/\/ G\u1ecdi ph\u01b0\u01a1ng th\u1ee9c k\u1ebf th\u1eeba t\u1eeb l\u1edbp cha\n        milu.sua(); \/\/ G\u1ecdi ph\u01b0\u01a1ng th\u1ee9c c\u1ee7a ch\u00ednh l\u1edbp con\n    }\n}<\/code><\/pre>\n\n\n\n<p><strong>Gi\u1ea3i th\u00edch t\u00ednh k\u1ebf th\u1eeba \u0111o\u1ea1n code tr\u00ean<\/strong><strong>:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u1edbp <code>Cho<\/code> \u0111\u01b0\u1ee3c khai b\u00e1o b\u1eb1ng <code>class Cho extends DongVat<\/code>. \u0110i\u1ec1u n\u00e0y t\u1ea1o ra m\u1ed9t li\u00ean k\u1ebft k\u1ebf th\u1eeba, cho ph\u00e9p \u0111\u1ed1i t\u01b0\u1ee3ng <code>milu<\/code> thu\u1ed9c l\u1edbp <code>Cho<\/code> t\u1ef1 \u0111\u1ed9ng c\u00f3 quy\u1ec1n g\u1ecdi ph\u01b0\u01a1ng th\u1ee9c <code>an()<\/code> m\u00e0 l\u1ebd ra ch\u1ec9 thu\u1ed9c v\u1ec1 l\u1edbp <code>DongVat<\/code>.&nbsp;<\/li>\n\n\n\n<li>Khi b\u1ea1n g\u1ecdi <code>milu.an()<\/code>, h\u1ec7 th\u1ed1ng s\u1ebd ki\u1ec3m tra l\u1edbp <code>Cho<\/code> \u2192 N\u1ebfu kh\u00f4ng th\u1ea5y ph\u01b0\u01a1ng th\u1ee9c n\u00e0y, t\u1ef1 \u0111\u1ed9ng t\u00ecm l\u00ean l\u1edbp cha <code>DongVat<\/code> \u2192 Sau \u0111\u00f3 th\u1ef1c thi ph\u01b0\u01a1ng th\u1ee9c t\u00ecm \u0111\u01b0\u1ee3c<\/li>\n\n\n\n<li>\u0110\u1ed3ng th\u1eddi, <code>milu<\/code> v\u1eabn c\u00f3 th\u1ec3 g\u1ecdi ph\u01b0\u01a1ng th\u1ee9c ri\u00eang c\u1ee7a m\u00ecnh l\u00e0 <code>milu.sua()<\/code>.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>\u0110\u00e2y ch\u00ednh l\u00e0 c\u01a1 ch\u1ebf c\u1ee7a t\u00ednh k\u1ebf th\u1eeba: L\u1edbp con v\u1eeba t\u00e1i s\u1eed d\u1ee5ng l\u1ea1i h\u00e0nh vi c\u1ee7a l\u1edbp cha, v\u1eeba c\u00f3 th\u1ec3 b\u1ed5 sung h\u00e0nh vi ri\u00eang.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-2-h\u1ec7-th\u1ed1ng-qu\u1ea3n-ly-nhan-vien-d\u01a1n-gi\u1ea3n\"><strong>V\u00ed d\u1ee5 2: H\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd nh\u00e2n vi\u00ean \u0111\u01a1n gi\u1ea3n<\/strong><\/h3>\n\n\n\n<p>Ch\u00fang ta c\u00f3 l\u1edbp cha l\u00e0 <code>Employee<\/code> v\u00e0 hai l\u1edbp con l\u00e0 <code>Developer<\/code> v\u00e0 <code>Manager<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. L\u1edbp cha (Superclass)\nclass Employee {\n    protected String name;\n    protected double baseSalary;\n\n    public Employee(String name, double baseSalary) {\n        this.name = name;\n        this.baseSalary = baseSalary;\n    }\n\n    public void work() {\n        System.out.println(name + \" \u0111ang l\u00e0m vi\u1ec7c.\");\n    }\n\n    public double calculateSalary() {\n        return baseSalary;\n    }\n}\n\n\/\/ 2. L\u1edbp con Developer (Subclass)\nclass Developer extends Employee {\n    private String programmingLanguage;\n\n    public Developer(String name, double baseSalary, String programmingLanguage) {\n        super(name, baseSalary); \/\/ G\u1ecdi constructor c\u1ee7a l\u1edbp cha\n        this.programmingLanguage = programmingLanguage;\n    }\n\n    @Override\n    public void work() {\n        System.out.println(name + \" \u0111ang l\u1eadp tr\u00ecnh b\u1eb1ng ng\u00f4n ng\u1eef \" + programmingLanguage);\n    }\n}\n\n\/\/ 3. L\u1edbp con Manager (Subclass)\nclass Manager extends Employee {\n    private int teamSize;\n\n    public Manager(String name, double baseSalary, int teamSize) {\n        super(name, baseSalary);\n        this.teamSize = teamSize;\n    }\n\n    @Override\n    public double calculateSalary() {\n        return baseSalary + (teamSize * 500); \/\/ Th\u01b0\u1edfng th\u00eam d\u1ef1a tr\u00ean s\u1ed1 nh\u00e2n vi\u00ean qu\u1ea3n l\u00fd\n    }\n}<\/code><\/pre>\n\n\n\n<p>C\u00e1ch v\u1eadn h\u00e0nh trong th\u1ef1c t\u1ebf:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class Main {\n    public static void main(String&#91;] args) {\n        \/\/ T\u00ednh \u0111a h\u00ecnh: D\u00f9ng ki\u1ec3u Employee \u0111\u1ec3 qu\u1ea3n l\u00fd c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng con\n        Employee dev = new Developer(\"Ho\u00e0ng\", 1500, \"Java\");\n        Employee manager = new Manager(\"Lan\", 2000, 5);\n\n        dev.work(); \/\/ Output: Ho\u00e0ng \u0111ang l\u1eadp tr\u00ecnh b\u1eb1ng ng\u00f4n ng\u1eef Java\n        \n        System.out.println(\"L\u01b0\u01a1ng Manager: \" + manager.calculateSalary()); \n        \/\/ Output: L\u01b0\u01a1ng Manager: 4500.0 (2000 + 5 * 500)\n    }\n}<\/code><\/pre>\n\n\n\n<p><strong>T\u1ea1i sao c\u00e1ch l\u00e0m n\u00e0y l\u1ea1i hi\u1ec7u qu\u1ea3?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>K\u1ebf th\u1eeba t\u00e0i nguy\u00ean:<\/strong> C\u1ea3 <code>Developer<\/code> v\u00e0 <code>Manager<\/code> \u0111\u1ec1u s\u1eed d\u1ee5ng l\u1ea1i thu\u1ed9c t\u00ednh <code>name<\/code> v\u00e0 <code>baseSalary<\/code> t\u1eeb <code>Employee<\/code> m\u00e0 kh\u00f4ng c\u1ea7n khai b\u00e1o l\u1ea1i.<\/li>\n\n\n\n<li><strong>T\u00f9y bi\u1ebfn linh ho\u1ea1t:<\/strong> M\u1ed7i l\u1edbp con ghi \u0111\u00e8 (<code>@Override<\/code>) c\u00e1c ph\u01b0\u01a1ng th\u1ee9c \u0111\u1ec3 th\u1ef1c hi\u1ec7n \u0111\u00fang logic nghi\u1ec7p v\u1ee5 ri\u00eang (L\u1eadp tr\u00ecnh vi\u00ean th\u00ec &#8220;code&#8221;, Qu\u1ea3n l\u00fd th\u00ec c\u00f3 &#8220;th\u01b0\u1edfng th\u00eam&#8221;).<\/li>\n\n\n\n<li><strong>D\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng:<\/strong> N\u1ebfu sau n\u00e0y b\u1ea1n c\u1ea7n th\u00eam l\u1edbp <code>Designer<\/code>, b\u1ea1n ch\u1ec9 vi\u1ec7c <code>extends Employee<\/code> m\u00e0 kh\u00f4ng l\u00e0m \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn code hi\u1ec7n t\u1ea1i.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-nguyen-t\u1eafc-vang-c\u1ee7a-extends-trong-java-d\u01a1n-k\u1ebf-th\u1eeba-amp-quan-h\u1ec7-is-a\"><span class=\"ez-toc-section\" id=\"Cac_nguyen_tac_vang_cua_extends_trong_Java_Don_ke_thua_quan_he_IS-A\"><\/span><strong>C\u00e1c nguy\u00ean t\u1eafc v\u00e0ng c\u1ee7a extends trong Java: \u0110\u01a1n k\u1ebf th\u1eeba &amp; quan h\u1ec7 IS-A<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-quan-h\u1ec7-is-a-la-m\u1ed9t\"><strong>Quan h\u1ec7 &#8220;IS-A&#8221; (L\u00e0 m\u1ed9t)<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t quy t\u1eafc v\u00e0ng khi d\u00f9ng <code>extends<\/code> l\u00e0 ki\u1ec3m tra quan h\u1ec7 <strong>IS-A<\/strong>. B\u1ea1n ch\u1ec9 n\u00ean s\u1eed d\u1ee5ng k\u1ebf th\u1eeba khi l\u1edbp con th\u1ef1c s\u1ef1 l\u00e0 m\u1ed9t phi\u00ean b\u1ea3n c\u1ee5 th\u1ec3 c\u1ee7a l\u1edbp cha.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0110\u00fang:<\/strong> <code>Dog<\/code> <strong>IS-A<\/strong> <code>Animal<\/code> (Con ch\u00f3 l\u00e0 m\u1ed9t lo\u00e0i \u0111\u1ed9ng v\u1eadt).<\/li>\n\n\n\n<li><strong>Sai:<\/strong> <code>Engine<\/code> <strong>IS-A<\/strong> <code>Car<\/code> (\u0110\u1ed9ng c\u01a1 kh\u00f4ng ph\u1ea3i l\u00e0 m\u1ed9t chi\u1ebfc xe h\u01a1i, \u0111\u00e2y l\u00e0 quan h\u1ec7 &#8220;HAS-A&#8221; &#8211; \u0110\u1ed9ng c\u01a1 thu\u1ed9c v\u1ec1 xe h\u01a1i).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-d\u01a1n-k\u1ebf-th\u1eeba\"><strong>\u0110\u01a1n k\u1ebf th\u1eeba<\/strong><\/h3>\n\n\n\n<p>M\u1ed9t \u0111\u1eb7c \u0111i\u1ec3m quan tr\u1ecdng c\u1ea7n l\u01b0u \u00fd: Java ch\u1ec9 h\u1ed7 tr\u1ee3 \u0111\u01a1n k\u1ebf th\u1eeba. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 <strong>m\u1ed9t l\u1edbp con ch\u1ec9 c\u00f3 th\u1ec3 extends t\u1eeb duy nh\u1ea5t m\u1ed9t l\u1edbp cha<\/strong>.<\/p>\n\n\n\n<p><strong>T\u1ea1i sao Java kh\u00f4ng cho ph\u00e9p \u0111a k\u1ebf th\u1eeba l\u1edbp? <\/strong>Java c\u1ea5m \u0111a k\u1ebf th\u1eeba \u0111\u1ec3 tr\u00e1nh <strong>l\u1ed7i kim c\u01b0\u01a1ng (Diamond Problem)<\/strong>. H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng n\u1ebfu l\u1edbp C k\u1ebf th\u1eeba t\u1eeb c\u1ea3 A v\u00e0 B, v\u00e0 c\u1ea3 A, B \u0111\u1ec1u c\u00f3 ph\u01b0\u01a1ng th\u1ee9c <code>run()<\/code>. Khi \u0111\u00f3, l\u1edbp C s\u1ebd kh\u00f4ng bi\u1ebft ph\u1ea3i th\u1ef1c thi ph\u01b0\u01a1ng th\u1ee9c <code>run()<\/code> c\u1ee7a l\u1edbp n\u00e0o, g\u00e2y ra s\u1ef1 xung \u0111\u1ed9t v\u00e0 nh\u1eadp nh\u1eb1ng trong h\u1ec7 th\u1ed1ng.&nbsp;<\/p>\n\n\n\n<p>N\u1ebfu b\u1ea1n c\u1ea7n m\u1ed9t l\u1edbp c\u00f3 \u0111\u1eb7c \u0111i\u1ec3m c\u1ee7a nhi\u1ec1u ngu\u1ed3n kh\u00e1c nhau, Java khuy\u1ebfn kh\u00edch s\u1eed d\u1ee5ng <strong>Interface<\/strong> thay v\u00ec k\u1ebf th\u1eeba l\u1edbp. M\u1ed9t l\u1edbp c\u00f3 th\u1ec3 tri\u1ec3n khai (implements) kh\u00f4ng gi\u1edbi h\u1ea1n s\u1ed1 l\u01b0\u1ee3ng Interface.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1eeb-khoa-extends-vs-implements-co-gi-khac-nhau\"><span class=\"ez-toc-section\" id=\"Tu_khoa_extends_vs_implements_co_gi_khac_nhau\"><\/span><strong>T\u1eeb kh\u00f3a extends vs implements c\u00f3 g\u00ec kh\u00e1c nhau?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>R\u1ea5t nhi\u1ec1u ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u th\u01b0\u1eddng nh\u1ea7m l\u1eabn gi\u1eefa vi\u1ec7c khi n\u00e0o d\u00f9ng extends v\u00e0 khi n\u00e0o d\u00f9ng implements. B\u1ea3ng d\u01b0\u1edbi \u0111\u00e2y s\u1ebd gi\u00fap b\u1ea1n ph\u00e2n lo\u1ea1i nhanh ch\u00f3ng:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\u0110\u1eb7c \u0111i\u1ec3m&nbsp;<\/strong><\/td><td><strong>Extends&nbsp;<\/strong><\/td><td><strong>Implememts<\/strong><\/td><\/tr><tr><td><strong>\u0110\u1ed1i t\u01b0\u1ee3ng \u00e1p d\u1ee5ng<\/strong><\/td><td>Gi\u1eefa 2 <strong>Class<\/strong> ho\u1eb7c gi\u1eefa 2 <strong>Interface<\/strong>.<\/td><td>Gi\u1eefa m\u1ed9t <strong>Class<\/strong> v\u00e0 m\u1ed9t ho\u1eb7c nhi\u1ec1u <strong>Interface<\/strong>.<\/td><\/tr><tr><td><strong>M\u1ee5c \u0111\u00edch<\/strong><\/td><td>T\u1ea1o m\u1ed1i quan h\u1ec7 &#8220;IS-A&#8221;, k\u1ebf th\u1eeba c\u00e1c \u0111\u1eb7c t\u00ednh v\u00e0 h\u00e0nh vi c\u00f3 s\u1eb5n.<\/td><td>Th\u1ef1c thi c\u00e1c cam k\u1ebft v\u1ec1 h\u00e0nh vi (b\u1ea3n thi\u1ebft k\u1ebf) m\u00e0 Interface \u0111\u1eb7t ra.<\/td><\/tr><tr><td><strong>S\u1ed1 l\u01b0\u1ee3ng<\/strong><\/td><td><strong>Ch\u1ec9 duy nh\u1ea5t m\u1ed9t<\/strong> (\u0110\u01a1n k\u1ebf th\u1eeba l\u1edbp).<\/td><td>C\u00f3 th\u1ec3 tri\u1ec3n khai <strong>nhi\u1ec1u<\/strong> Interface c\u00f9ng l\u00fac.<\/td><\/tr><tr><td><strong>B\u1ea3n ch\u1ea5t<\/strong><\/td><td>L\u1edbp con l\u1ea5y l\u1ea1i nh\u1eefng g\u00ec l\u1edbp cha \u0111\u00e3 c\u00f3.<\/td><td>L\u1edbp th\u1ef1c hi\u1ec7n ph\u1ea3i t\u1ef1 \u0111\u1ecbnh ngh\u0129a l\u1ea1i c\u00e1c ph\u01b0\u01a1ng th\u1ee9c tr\u1eebu t\u01b0\u1ee3ng c\u1ee7a Interface.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>C\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng c\u1ee5 th\u1ec3:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Class <\/strong><strong>extends<\/strong><strong> Class:<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>class Dog extends Animal<\/code><\/pre>\n\n\n\n<p>\u2192 Class <code>Dog<\/code> k\u1ebf th\u1eeba Class <code>Animal<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Interface <\/strong><strong>extends<\/strong><strong> Interface:<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>interface Readable extends Printable<\/code><\/pre>\n\n\n\n<p>\u2192 Cho ph\u00e9p Interface m\u1edf r\u1ed9ng \u0111\u1eb7c t\u00ednh c\u1ee7a c\u00e1c Interface kh\u00e1c.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Class <\/strong><strong>implements<\/strong><strong> Interface:<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>class Dog implements Pet<\/code><\/pre>\n\n\n\n<p>\u2192 Class cam k\u1ebft th\u1ef1c thi c\u00e1c ph\u01b0\u01a1ng th\u1ee9c tr\u1eebu t\u01b0\u1ee3ng (h\u00e0nh vi) m\u00e0 Interface \u0111\u1ecbnh ra.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-cau-h\u1ecfi-th\u01b0\u1eddng-g\u1eb7p-v\u1ec1-extends-trong-java\"><span class=\"ez-toc-section\" id=\"Cac_cau_hoi_thuong_gap_ve_extends_trong_Java\"><\/span><strong>C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 extends trong Java<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-m\u1ed9t-l\u1edbp-co-th\u1ec3-extends-nhi\u1ec1u-l\u1edbp-cung-luc-khong\"><strong>M\u1ed9t l\u1edbp c\u00f3 th\u1ec3 <\/strong><strong>extends<\/strong><strong> nhi\u1ec1u l\u1edbp c\u00f9ng l\u00fac kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>Kh\u00f4ng. Java <strong>kh\u00f4ng h\u1ed7 tr\u1ee3 \u0111a k\u1ebf th\u1eeba l\u1edbp<\/strong>. M\u1ed9t l\u1edbp ch\u1ec9 c\u00f3 th\u1ec3 k\u1ebf th\u1eeba t\u1eeb duy nh\u1ea5t m\u1ed9t l\u1edbp cha \u0111\u1ec3 tr\u00e1nh l\u1ed7i Diamond (nh\u1eadp nh\u1eb1ng trong vi\u1ec7c g\u1ecdi ph\u01b0\u01a1ng th\u1ee9c). Tuy nhi\u00ean, m\u1ed9t l\u1edbp c\u00f3 th\u1ec3 tri\u1ec3n khai (implements) nhi\u1ec1u Interface c\u00f9ng l\u00fac.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-co-l\u1edbp-nao-trong-java-khong-th\u1ec3-b\u1ecb-k\u1ebf-th\u1eeba-khong\"><strong>C\u00f3 l\u1edbp n\u00e0o trong Java kh\u00f4ng th\u1ec3 b\u1ecb k\u1ebf th\u1eeba kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>C\u00f3. N\u1ebfu m\u1ed9t l\u1edbp \u0111\u01b0\u1ee3c khai b\u00e1o v\u1edbi t\u1eeb kh\u00f3a final, kh\u00f4ng m\u1ed9t l\u1edbp n\u00e0o kh\u00e1c c\u00f3 th\u1ec3 extends n\u00f3. <em>V\u00ed d\u1ee5:<\/em> L\u1edbp <code>String<\/code> trong Java l\u00e0 m\u1ed9t final class, b\u1ea1n kh\u00f4ng th\u1ec3 t\u1ea1o ra m\u1ed9t l\u1edbp con c\u1ee7a <code>String<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-l\u1edbp-con-co-k\u1ebf-th\u1eeba-d\u01b0\u1ee3c-constructor-c\u1ee7a-l\u1edbp-cha-khong\"><strong>L\u1edbp con c\u00f3 k\u1ebf th\u1eeba \u0111\u01b0\u1ee3c Constructor c\u1ee7a l\u1edbp cha kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>Kh\u00f4ng, Constructor kh\u00f4ng ph\u1ea3i l\u00e0 th\u00e0nh vi\u00ean c\u1ee7a l\u1edbp n\u00ean kh\u00f4ng \u0111\u01b0\u1ee3c k\u1ebf th\u1eeba. Tuy nhi\u00ean, l\u1edbp con c\u00f3 th\u1ec3 g\u1ecdi Constructor c\u1ee7a l\u1edbp cha th\u00f4ng qua t\u1eeb kh\u00f3a <code>super()<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-khi-nao-nen-dung-extends-va-khi-nao-nen-dung-implements\"><strong>Khi n\u00e0o n\u00ean d\u00f9ng <\/strong><strong>extends<\/strong><strong> v\u00e0 khi n\u00e0o n\u00ean d\u00f9ng <\/strong><strong>implements<\/strong><strong>?<\/strong><\/h3>\n\n\n\n<p>D\u00f9ng <strong>extends<\/strong> khi c\u00f3 quan h\u1ec7 &#8220;L\u00e0 m\u1ed9t&#8221; (IS-A). V\u00ed d\u1ee5: &#8220;M\u00e8o l\u00e0 m\u1ed9t lo\u00e0i \u0111\u1ed9ng v\u1eadt&#8221;.<\/p>\n\n\n\n<p>D\u00f9ng <strong>implements<\/strong> khi mu\u1ed1n th\u1ef1c hi\u1ec7n m\u1ed9t &#8220;Kh\u1ea3 n\u0103ng&#8221; ho\u1eb7c &#8220;Vai tr\u00f2&#8221; (CAN-DO). V\u00ed d\u1ee5: &#8220;L\u1edbp Xe v\u00e0 l\u1edbp Ng\u01b0\u1eddi \u0111\u1ec1u c\u00f3 th\u1ec3 tri\u1ec3n khai Interface Moveable (C\u00f3 th\u1ec3 di chuy\u1ec3n)&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-l\u1edbp-con-co-th\u1ec3-truy-c\u1eadp-cac-thu\u1ed9c-tinh-private-c\u1ee7a-l\u1edbp-cha-khong\"><strong>L\u1edbp con c\u00f3 th\u1ec3 truy c\u1eadp c\u00e1c thu\u1ed9c t\u00ednh <\/strong><strong>private<\/strong><strong> c\u1ee7a l\u1edbp cha kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>Kh\u00f4ng tr\u1ef1c ti\u1ebfp. C\u00e1c th\u00e0nh ph\u1ea7n private ch\u1ec9 c\u00f3 \u00fd ngh\u0129a trong n\u1ed9i b\u1ed9 l\u1edbp \u0111\u00f3. \u0110\u1ec3 l\u1edbp con c\u00f3 th\u1ec3 truy c\u1eadp, b\u1ea1n n\u00ean chuy\u1ec3n ch\u00fang th\u00e0nh protected ho\u1eb7c s\u1eed d\u1ee5ng c\u00e1c h\u00e0m <code>getter<\/code>\/<code>setter<\/code> public \u1edf l\u1edbp cha.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-k\u1ebft-lu\u1eadn\"><span class=\"ez-toc-section\" id=\"Ket_luan\"><\/span><strong>K\u1ebft lu\u1eadn\u00a0<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>T\u1eeb kh\u00f3a extends l\u00e0 c\u00f4ng c\u1ee5 quan tr\u1ecdng \u0111\u1ec3 hi\u1ec7n th\u1ef1c h\u00f3a <strong>t\u00ednh k\u1ebf th\u1eeba<\/strong> trong Java, gi\u00fap t\u1ed1i \u01b0u h\u00f3a vi\u1ec7c t\u00e1i s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n v\u00e0 x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ph\u00e2n c\u1ea5p logic. Tuy nhi\u00ean, \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3, b\u1ea1n c\u1ea7n nh\u1edb k\u1ef9 nguy\u00ean t\u1eafc <strong>\u0111\u01a1n k\u1ebf th\u1eeba<\/strong> v\u00e0 ch\u1ec9 \u00e1p d\u1ee5ng khi th\u1ef1c s\u1ef1 c\u00f3 m\u1ed1i quan h\u1ec7 <strong>&#8220;IS-A&#8221;<\/strong>.<\/p>\n\n\n\n<p>Hy v\u1ecdng b\u00e0i vi\u1ebft n\u00e0y \u0111\u00e3 gi\u00fap b\u1ea1n n\u1eafm v\u1eefng c\u00e1ch v\u1eadn h\u00e0nh c\u1ee7a extends. H\u00e3y k\u1ebft h\u1ee3p linh ho\u1ea1t gi\u1eefa k\u1ebf th\u1eeba l\u1edbp v\u00e0 Interface \u0111\u1ec3 t\u1ea1o n\u00ean nh\u1eefng ch\u01b0\u01a1ng tr\u00ecnh Java m\u1ea1nh m\u1ebd v\u00e0 d\u1ec5 b\u1ea3o tr\u00ec h\u01a1n!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thay v\u00ec vi\u1ebft l\u1ea1i nh\u1eefng \u0111o\u1ea1n code gi\u1ed1ng nhau cho t\u1eebng \u0111\u1ed1i t\u01b0\u1ee3ng, extends trong Java cho ph\u00e9p c\u00e1c l\u1edbp con k\u1ebf th\u1eeba l\u1ea1i t\u00e0i nguy\u00ean t\u1eeb l\u1edbp cha. \u0110i\u1ec1u n\u00e0y kh\u00f4ng ch\u1ec9 gi\u00fap t\u00e1i s\u1eed d\u1ee5ng m\u00e3 ngu\u1ed3n t\u1ed1i \u0111a m\u00e0 c\u00f2n thi\u1ebft l\u1eadp m\u1ed9t h\u1ec7 th\u1ed1ng ph\u00e2n c\u1ea5p logic, gi\u00fap vi\u1ec7c qu\u1ea3n l\u00fd [&hellip;]<\/p>\n","protected":false},"author":203,"featured_media":95527,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109,10350],"tags":[],"class_list":["post-94488","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","category-java"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf - ITviec Blog<\/title>\n<meta name=\"description\" content=\"Chi ti\u1ebft t\u1eeb kh\u00f3a extends trong Java k\u00e8m v\u00ed d\u1ee5: nguy\u00ean t\u1eafc \u0111\u01a1n k\u1ebf th\u1eeba, c\u00fa ph\u00e1p extends c\u01a1 b\u1ea3n v\u00e0 nguy\u00ean l\u00fd ho\u1ea1t \u0111\u1ed9ng c\u1ee7a extends trong Java.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/extends-trong-java\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf\" \/>\n<meta property=\"og:description\" content=\"Thay v\u00ec vi\u1ebft l\u1ea1i nh\u1eefng \u0111o\u1ea1n code gi\u1ed1ng nhau cho t\u1eebng \u0111\u1ed1i t\u01b0\u1ee3ng, extends trong Java cho ph\u00e9p c\u00e1c l\u1edbp con k\u1ebf th\u1eeba l\u1ea1i t\u00e0i nguy\u00ean t\u1eeb l\u1edbp cha. \u0110i\u1ec1u n\u00e0y kh\u00f4ng\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/extends-trong-java\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-12T13:52:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-12T13:58:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2026\/04\/extends-trong-java-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"421\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tien Tran\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tien Tran\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf - ITviec Blog","description":"Chi ti\u1ebft t\u1eeb kh\u00f3a extends trong Java k\u00e8m v\u00ed d\u1ee5: nguy\u00ean t\u1eafc \u0111\u01a1n k\u1ebf th\u1eeba, c\u00fa ph\u00e1p extends c\u01a1 b\u1ea3n v\u00e0 nguy\u00ean l\u00fd ho\u1ea1t \u0111\u1ed9ng c\u1ee7a extends trong Java.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/extends-trong-java\/","og_locale":"vi_VN","og_type":"article","og_title":"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf","og_description":"Thay v\u00ec vi\u1ebft l\u1ea1i nh\u1eefng \u0111o\u1ea1n code gi\u1ed1ng nhau cho t\u1eebng \u0111\u1ed1i t\u01b0\u1ee3ng, extends trong Java cho ph\u00e9p c\u00e1c l\u1edbp con k\u1ebf th\u1eeba l\u1ea1i t\u00e0i nguy\u00ean t\u1eeb l\u1edbp cha. \u0110i\u1ec1u n\u00e0y kh\u00f4ng","og_url":"https:\/\/itviec.com\/blog\/extends-trong-java\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2026-04-12T13:52:04+00:00","article_modified_time":"2026-04-12T13:58:51+00:00","og_image":[{"width":800,"height":421,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2026\/04\/extends-trong-java-scaled.png","type":"image\/png"}],"author":"Tien Tran","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Tien Tran","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"9 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/"},"author":{"name":"Tien Tran","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/1595d671c49cfa2a48cd3c0a047a1298"},"headline":"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf","datePublished":"2026-04-12T13:52:04+00:00","dateModified":"2026-04-12T13:58:51+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/"},"wordCount":2350,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2026\/04\/extends-trong-java-scaled.png","articleSection":["Chuy\u00ean m\u00f4n IT","Java"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/","url":"https:\/\/itviec.com\/blog\/extends-trong-java\/","name":"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2026\/04\/extends-trong-java-scaled.png","datePublished":"2026-04-12T13:52:04+00:00","dateModified":"2026-04-12T13:58:51+00:00","description":"Chi ti\u1ebft t\u1eeb kh\u00f3a extends trong Java k\u00e8m v\u00ed d\u1ee5: nguy\u00ean t\u1eafc \u0111\u01a1n k\u1ebf th\u1eeba, c\u00fa ph\u00e1p extends c\u01a1 b\u1ea3n v\u00e0 nguy\u00ean l\u00fd ho\u1ea1t \u0111\u1ed9ng c\u1ee7a extends trong Java.","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/extends-trong-java\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2026\/04\/extends-trong-java-scaled.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2026\/04\/extends-trong-java-scaled.png","width":800,"height":421,"caption":"Extends trong Java - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/extends-trong-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"Extends trong Java: \u00c1p d\u1ee5ng k\u1ebf th\u1eeba qua c\u00e1c v\u00ed d\u1ee5 th\u1ef1c t\u1ebf"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/1595d671c49cfa2a48cd3c0a047a1298","name":"Tien Tran","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/05\/tien-tran-author-e1715658627643-100x100.jpg","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/05\/tien-tran-author-e1715658627643-100x100.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/05\/tien-tran-author-e1715658627643-100x100.jpg","caption":"Tien Tran"},"url":"https:\/\/itviec.com\/blog\/author\/tien-tran\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/94488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/203"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=94488"}],"version-history":[{"count":6,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/94488\/revisions"}],"predecessor-version":[{"id":95530,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/94488\/revisions\/95530"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/95527"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=94488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=94488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=94488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}