CodeGym
Khuyến mãi
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • Các giao diện trong thư viện chuẩn: Comparable, Serializable, v.v.

    JAVA 25 SELF
    Cấp độ 21,Bài học 4
    Phân tích các giao diện then chốt của thư viện chuẩn Java và lý do chúng cần thiết trong dự án thực tế: sắp xếp “thứ tự tự nhiên” qua Comparable<T> và quy tắc tùy chỉnh với Comparator<T>, tuần tự hóa (serialization) đối tượng bằng Serializable, quản lý tài nguyên an toàn qua AutoCloseable, duyệt bộ sưu tập nhờ Iterable<T>, cũng như các marker như Cloneable và các listener sự kiện. Qua những ví dụ đậm đặc, ta sẽ thấy chữ ký phương thức đúng ( compareTo, compare, close, iterator) và các lỗi điển hình nên tránh.
    Có sẵn
  • Record: cú pháp, ưu điểm

    JAVA 25 SELF
    Cấp độ 22,Bài học 0
    Phân tích các lớp record trong Java 16+: cách khai báo, những gì compiler tạo ra “dưới nắp máy”, vì sao chúng tiện hơn các DTO và value object thông thường, và khi nào nên áp dụng. Ít mã khuôn mẫu hơn, an toàn hơn: bất biến, equals/hashCode/toString chuẩn xác và thuận tiện khi làm việc trong collections.
    Có sẵn
  • Immutability — tính bất biến của các lớp record

    JAVA 25 SELF
    Cấp độ 22,Bài học 1
    Đào sâu vào tính bất biến (immutability) của các lớp Java record: vì sao trạng thái của chúng không thể thay đổi sau khi tạo, những lợi ích điều đó mang lại trong môi trường đa luồng và khi làm việc với collection, records khác gì so với các lớp thông thường, và cách bảo vệ đúng cách khỏi “rò rỉ tính mutable” thông qua mảng và collection. So sánh hành vi với các lớp mutable, phân tích ví dụ thực tiễn và các lỗi thường gặp.
    Có sẵn
  • equals, hashCode, toString: tạo tự động

    JAVA 25 SELF
    Cấp độ 22,Bài học 2
    Tìm hiểu vì sao các đối tượng cần các phương thức equals, hashCode và toString, tại sao việc tự viết thủ công trong các lớp thông thường dẫn đến mã khuôn mẫu dễ lỗi, và cách các lớp record tạo phiên bản đúng một cách tự động. Xem ảnh hưởng lên collection và việc gỡ lỗi, khi nào và cách nào nên ghi đè hành vi mặc định, và những lỗi thường gặp nhất.
    Có sẵn
  • Record với các phương thức

    JAVA 25 SELF
    Cấp độ 22,Bài học 3
    Học cách “bổ sung” các lớp record bằng phương thức, dùng constructor gọn để kiểm tra và chuẩn hóa dữ liệu, tìm hiểu các hạn chế của record, hiện thực interface và các mẹo thực hành. Cuối cùng — bảng “được/không được” và phân tích các lỗi điển hình.
    Có sẵn
  • Sự khác nhau giữa record và class, các hạn chế của record

    JAVA 25 SELF
    Cấp độ 22,Bài học 4
    Những khác biệt cốt lõi giữa các lớp thông thường và lớp record trong Java: tính bất biến, kế thừa, tự sinh equals/hashCode/toString, constructor và phạm vi áp dụng. Cùng phân tích các hạn chế của record, nơi chúng phát huy hiệu quả tối đa (DTO, Value Object, khóa của collection), khi nào nên ưu tiên class thông thường, và những lỗi thường gặp nhất.
    Có sẵn
  • Lỗi khi khai báo lớp và đối tượng

    JAVA 25 SELF
    Cấp độ 23,Bài học 0
    Những lỗi thường gặp khi bắt đầu với Java: các bộ sửa đổi truy cập của lớp, sự trùng khớp giữa tên tệp và lớp public, dấu ngoặc nhọn và vị trí các thành viên lớp, khởi tạo đối tượng, constructor và việc tạo instance dư thừa. Chúng ta sẽ xem best practices và xây dựng một ví dụ nhỏ “Thư viện”, và ở cuối sẽ phân tích các thông báo lỗi điển hình.
    Có sẵn
  • Lỗi với kế thừa và nạp chồng phương thức

    JAVA 25 SELF
    Cấp độ 23,Bài học 1
    Cùng phân tích những lỗi thường gặp trong Java khi kế thừa và nạp chồng phương thức: gọi constructor của lớp cơ sở bằng super(...), các hạn chế của lớp final và phương thức final, vi phạm nguyên lý thay thế Liskov, các bẫy của nạp chồng (tự động ép kiểu, lời gọi mơ hồ, cố phân biệt chỉ bằng kiểu trả về), cũng như best practices và ví dụ hoạt động với tính đa hình.
    Có sẵn
  • Các lỗi với bộ sửa đổi truy cập

    JAVA 25 SELF
    Cấp độ 23,Bài học 2
    Từng bước phân tích các mức truy cập trong Java và những lỗi điển hình: quên khai báo bộ sửa đổi, vi phạm đóng gói (encapsulation), đặc thù của protected ngoài package, cách dùng đúng getter/setter và trả về bản sao của collection. Củng cố best practices bằng các ví dụ thực hành.
    Có sẵn
  • Các vấn đề về đa hình và trừu tượng hóa

    JAVA 25 SELF
    Cấp độ 23,Bài học 3
    Phân tích đa hình và trừu tượng hóa trong Java qua thực hành: cách một giao diện thống nhất gọi ra các hành vi khác nhau, những lỗi thường gặp (ép kiểu xuống không kiểm tra, gọi phương thức không có trong kiểu cơ sở, “trừu tượng rỗng”, hệ phân cấp quá sâu), cũng như các thực hành tốt nhất khi dùng lớp trừu tượng, interface và annotation @Override trong ví dụ học tập “Thư viện”.
    Có sẵn
  • Phong cách và tính dễ đọc của mã, code conventions

    JAVA 25 SELF
    Cấp độ 23,Bài học 4
    Tại sao lập trình viên Java cần một phong cách mã thống nhất và cách tuân thủ: chúng ta sẽ phân tích các lỗi định dạng thường gặp, các quy ước cơ bản (thụt lề, đặt tên, thứ tự các thành viên của lớp), đưa ra ví dụ refactoring và các công cụ auto-format và phân tích tĩnh để mã dễ đọc và dễ bảo trì.
    Có sẵn
  • Hệ phân cấp ngoại lệ trong Java

    JAVA 25 SELF
    Cấp độ 24,Bài học 0
    Trong bài giảng này, chúng ta tìm hiểu nền tảng của hệ thống ngoại lệ trong Java: lớp gốc Throwable, sự khác nhau giữa Exception và Error, cũng như phân chia thành ngoại lệ đã kiểm tra (checked) và không kiểm tra (unchecked). Bạn sẽ thấy sơ đồ và bảng so sánh, ví dụ mã với try- catch và throws, biết nên bắt cái gì và cái gì — không, và phân tích các lỗi điển hình khi xử lý ngoại lệ.
    Có sẵn
  • 1
  • ...
  • 10
  • 11
  • 12
  • 13
  • 14
  • ...
  • 30
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский
Vietnamese
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym