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
  • Khởi tạo đối tượng: thứ tự khởi tạo

    JAVA 25 SELF
    Cấp độ 14,Bài học 5
    Từng bước phân tích cách Java khởi tạo một đối tượng: các giá trị mặc định của trường, khởi tạo tường minh, các khối khởi tạo không tĩnh và lần gọi cuối cùng tới constructor thông qua new. Với ví dụ lớp Person, ta sẽ thấy thứ tự in thực tế, bảng giá trị mặc định, lưu đồ và các lỗi thường gặp (trùng lặp logic, kỳ vọng về static, làm việc với null, gọi constructor qua this(...)).
    Có sẵn
  • Debug trong IntelliJ IDEA

    JAVA 25 SELF
    Cấp độ 14,Bài học 6
    Cách tìm lỗi mà không phát điên. Hãy học cách sử dụng Debugger: breakpoint (điểm dừng), thực thi từng bước, xem biến và tính toán biểu thức ngay lập tức.
    Có sẵn
  • Nguyên tắc đóng gói (encapsulation), vì sao cần thiết

    JAVA 25 SELF
    Cấp độ 15,Bài học 0
    Trong bài giảng này, chúng ta sẽ tìm hiểu encapsulation trong Java là gì, nó được hiện thực bằng cách dùng các trường riêng tư ( private) và giao diện công khai (các phương thức public) như thế nào, vì sao cần ẩn trạng thái bên trong của đối tượng và điều đó giúp tăng độ tin cậy và khả năng bảo trì của mã ra sao. Bạn sẽ thấy ví dụ xấu và tốt, cách áp dụng thực tế, bảng so sánh các cách tiếp cận và những lỗi thường gặp.
    Có sẵn
  • Bộ sửa đổi truy cập

    JAVA 25 SELF
    Cấp độ 15,Bài học 1
    Trong bài giảng này, chúng ta phân tích các mức độ truy cập trong Java: public, protected, package-private và private. Ta sẽ hiểu nên dùng mỗi loại ở đâu và để làm gì, cách bảo vệ trường (đóng gói), quy tắc lựa chọn cho phương thức và constructor, xem xét ví dụ với package và kế thừa, cũng như các thực tiễn tốt nhất và lỗi thường gặp.
    Có sẵn
  • Getter và Setter: cú pháp và thực tiễn tốt nhất

    JAVA 25 SELF
    Cấp độ 15,Bài học 2
    Trong bài giảng này, bạn sẽ tìm hiểu cách dùng đóng gói (encapsulation) và các phương thức get/ set để kiểm soát quyền truy cập vào các trường của lớp trong Java. Bạn sẽ biết các quy ước JavaBeans, đặc thù đối với trường kiểu boolean với getter isXxx(), xem các ví dụ kiểm tra hợp lệ trong setter, cách làm việc an toàn với các trường có thể thay đổi và việc tạo accessor tự động trong IDE.
    Có sẵn
  • Khởi tạo các trường static và final

    JAVA 25 SELF
    Cấp độ 15,Bài học 3
    Trong bài giảng này, bạn sẽ tìm hiểu cách khởi tạo các trường tĩnh ( static) và các trường bất biến ( final) trong Java: ngay khi khai báo, trong khối khởi tạo tĩnh, cũng như trong các constructor. Chúng ta sẽ bàn về bộ ba hằng số public static final, cách truy cập đúng vào static, thứ tự khởi tạo và các lỗi thường gặp cần tránh.
    Có sẵn
  • Khối khởi tạo

    JAVA 25 SELF
    Cấp độ 15,Bài học 4
    Trong bài giảng này, bạn sẽ tìm hiểu về các khối khởi tạo trong Java: sự khác nhau giữa khối không tĩnh và static, thứ tự thực thi của trường, khối và constructor, khi nào nên đưa logic dùng chung vào khối và khi nào tốt hơn dùng constructor. Chúng ta sẽ xem ví dụ, các tinh tế về kế thừa và những lỗi thường gặp.
    Có sẵn
  • Lớp bên trong (non-static inner)

    JAVA 25 SELF
    Cấp độ 16,Bài học 0
    Cùng tìm hiểu các lớp bên trong (non-static inner) trong Java: chúng là gì và liên kết với instance của lớp bên ngoài như thế nào, cách khai báo và khởi tạo thông qua outer. new Inner(), cách chúng truy cập các thành viên với các modifier private/ public, những hạn chế (không có các thành viên static, trừ hằng số), cũng như các mức độ hiển thị và ví dụ thực tế: Backpack.Item, iterator của chính collection và tham chiếu tới đối tượng bên ngoài qua OuterClassName. this. Cuối cùng — các lỗi thường gặp và cách tránh chúng.
    Có sẵn
  • Lớp lồng nhau tĩnh (static nested)

    JAVA 25 SELF
    Cấp độ 16,Bài học 1
    Phân tích lớp lồng nhau tĩnh trong Java: đó là gì, khác gì so với lớp bên trong (inner), cách khai báo với bộ điều chỉnh static, cách tạo instance mà không cần đối tượng của lớp bao ngoài, và các quy tắc truy cập (không có OuterClass.this, chỉ truy cập các thành viên tĩnh). Trình bày các tình huống thực tế — Builder, các nút nội bộ Node trong cấu trúc, tiện ích, so sánh với inner-class, thêm sơ đồ và phân tích các lỗi thường gặp: nhầm lẫn với outer.new Inner() và cách gọi đúng new Outer.Nested().
    Có sẵn
  • Lớp ẩn danh

    JAVA 25 SELF
    Cấp độ 16,Bài học 2
    Trong bài giảng này, chúng ta tìm hiểu lớp ẩn danh trong Java: chúng là gì, cách chúng được khai báo và tạo ngay tại nơi sử dụng, cách trình biên dịch đặt tên các tệp .class của chúng, các hạn chế (final/effectively final, không có constructor, các khối khởi tạo) và các kịch bản ứng dụng thực tiễn. Chúng ta sẽ minh họa cách truy cập các thành viên của lớp bao ngoài và phân tích các lỗi thường gặp.
    Có sẵn
  • Lớp cục bộ: khai báo bên trong phương thức

    JAVA 25 SELF
    Cấp độ 16,Bài học 3
    Phân tích lớp cục bộ trong Java: chúng là gì, cách khai báo bên trong phương thức và các khối, các hạn chế đối với bộ sửa đổi và thành viên tĩnh, cũng như cách truy cập vào biến của phương thức (chỉ final/ effectively final). So sánh với lớp ẩn danh, xem các ví dụ thực tiễn (bộ so sánh, cấu trúc dữ liệu tạm thời, kết quả nhỏ của bài kiểm tra) và các lỗi điển hình. Bạn sẽ hiểu khi nào lớp cục bộ phù hợp hơn lớp ẩn danh và vì sao cần nhớ về static và public/ private/ protected.
    Có sẵn
  • Làm quen với generics

    JAVA 25 SELF
    Cấp độ 16,Bài học 4
    Giới thiệu thực hành về Generics (kiểu tổng quát) trong Java: vì sao lưu trữ trong Object là nguy hiểm, cách khai báo các lớp và phương thức tổng quát, cách sử dụng Box<T>, cặp (pair) và các phương thức tổng quát, cùng những lợi ích của tính an toàn kiểu mà không cần ép kiểu tường minh. Chúng ta sẽ bàn về các hạn chế (kiểu nguyên thủy, xóa kiểu) và phân tích các ví dụ sử dụng.
    Có sẵn
  • 1
  • ...
  • 7
  • 8
  • 9
  • 10
  • 11
  • ...
  • 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