1. Trang chủ
  2. » Công Nghệ Thông Tin

Kiến thức Java core cần để học Java back end

21 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

JAVA CORE 1 OOP trong Java OOP hay lập trình hướng đối tượng là một concept lập trình dựa trên Class (Lớp) và Object (Đối tượng) các đối tượng được tạo ra từ các lớp và thỏa 4 tính chất tính đóng gói, tính đa hình, tính kế thừa, và tình trừu tượng A Các khái niệm cơ bản 1 Lớp và Đối tượng (Class and Objcet) Object (đối tượng) được hiểu như là một thực thể mà nó có hành vi và trạng thái Ví dụ Một sinh viên có trạng thái như họ tên ngày sinh, hành vi là đang đi học hoặc đi làm Class (Lớp) là tập h.

JAVA CORE OOP Java OOP hay lập trình hướng đối tượng concept lập trình dựa Class (Lớp) Object (Đối tượng) đối tượng tạo từ lớp thỏa tính chất: tính đóng gói, tính đa hình, tính kế thừa, tình trừu tượng A Các khái niệm Lớp Đối tượng (Class and Objcet) o Object (đối tượng) hiểu thực thể mà có hành vi trạng thái Ví dụ: Một sinh viên có trạng thái họ tên ngày sinh, hành vi học làm o Class (Lớp) tập hợp đối tượng giống có hành vi trạng thái Một class biểu thị sau Java: Trong đó: - Public : phạm vi truy cập Student: tên Class name, age: thuộc tính (attribute) trạng thái display: phương thúc để thị tên tuổi hành vi Cách khai báo object sau: Trong đó: - - AStudent tên object New Student() dùng để khai báo cho object Constructor (Hàm khở tạo) Constructor hàm đặc biệt khơng có kiểu trả khơng có giá trị trả về, tên với class có phạm vi truy cập public Thơng thương ko tạo Constructor khai báo mọt object tự động khởi tạo Constructor rỗng Một Class có nhiều Constructor với tham số khác nhau, khai báo object object khởi tạo Constructor tùy thuộc vào số tham số truyền vào - Công dụng: Constructor thường dùng để đặt giá trị mặc định khai báo object, ứng dụng để khởi tạo giá trị cho attribute theo tính đóng gói Phạm vi truy cập (Access Modifier) Trong java có loại phạm vi truy cập: - Public: truy cập từ đâu, truy cập class từ package khác (ngang hàng) thừ phải import package vào - Protected: truy cập class package lớp package - Default: kiểu truy cập mặc định ko đc khai báo, truy cập đc class package - Private: truy cập bên class (dùng để đảm bảo tính bảo mật iệu, áp dụng cho tính đóng gói Static final *Từ khóa static: - - - Từ khóa static dùng để quản lý nhớ dùng với phương thức, thuộc tính lớp Từ khóa static thuộc lớp ko thuộc đối tượng lớp Đặc điểm static: o Được cấp phát vùng nhớ lần biên dịch chương trình, đời trước tiên trước đối tượng o Được dùng chung cho đối tượng Biến tĩnh (Static Variable) : biến khởi tạo với từ khóa static, khởi tạo lớp dùng chung cho đối tượng Nó tương tự số linh hoạt ta thay đổi giá trị cần thiết Phương thức tĩnh (Static Method): phương thức khởi tạo với từ khóa static Các phương thức khai báo static gọi phương thức hay thuộc tính khơng khai báo static Lý phương thức tĩnh đời trước thuộc tính, phương thức thơng thường nên chúng chưa thấy phương thức thông thường khác *Từ khóa final: - Từ khóa final sử dụng để hạn chế thao tác người dùng hay nói cách khác khai báo số Biến final: khai báo kèm với từ khóa static có giá trị tồn chương trình Phương thức final: phương thức có từ khóa final khơng thể bị ghi đè Lớp final: lớp có từ khóa final lớp khơng thể kế thừa B Tính đóng gói java (Encapsulation) - - - Trong thực tế thuộc tính Class che dấu khỏi bên ngồi để đảm bảo tính bảo mật, hạn chế truy cập không phép, việc che dấu thông tin, liệu gọi tính đóng gói Các bược thực tính đóng gói: o Khai báo phạm vi truy cập private cho thuộc tính o Cung cấp setter/getter để truy cập đến thuộc tính (setter khác với Constructor chổ Constructor dùng để khởi tạo, muốn thay đổi dùng đến setter Lý dùng tới tính đóng gói: o Khi liệu thơng tin đc public dễ bị làm sai lệch khơng đáng có o Tránh việc xung đột o Hạn chế truy cập không phép o Khi thay đôi cấu trúc thuộc tính ảnh hưởng đến kiến trúc khác - Ví dụ: C Tính Kế thừa (Inheritance) - - Trong OOP lớp kế thừa lại phương thức thuộc tính lớp khác Ví dụ: class B kế thừa class A Trong trường hợp class A đgl “lớp sở” “lớp cha”, class B đgl “lớp kế thừa” “lớp con” Mọi thuộc tính phương thức khơng phải private lớp cha lớp kế thừa VD: Trong từ khóa extends dùng để lớp cha trực tiếp kế thừa - Lọi ích tính kế thừa: o Lớp tận dụng thuộc tính phương thức chung lớp cha o Lớp tự định nghĩa lại (ghi đè, overriding) phương thức lớp cha, tạo cho riêng tùy mục đích *Từ khóa super: - Super từ khóa dùng để từ lớp truy cập tới thuộc tính phương thức, hàm tạo lớp cha Truy cập đến phương thức, thuộc tính: o Super dùng có thuộc tính phương thức tên lớp cha có giá trị thực nhiệm vụ khác o Muốn gọi tơi thuộc tính phương thức lớp đứng lớp gọi o Muốn gọi tới thuộc tính phương thức lớp cha dùng từ khóa super - Truy cập đến hàm tạo ( super( ) ) o Được dùng để truy cập đến Constructor lớp cha, dùng Constructor lớp o Được dùng khởi tạo Constructor cho lớp mà lớp ngồi thuộc tính lớp cha có thêm thuộc tính khác D Tính đa hình (Polymorphism) - Tính đa hình hiểu đơn giản phương thức có nhiều tác dụng khác tùy thuộc vào ngữ cảnh Để có tính đa hình cần : o Phải có quan hệ kế thừa với lớp cha o Ở lớp phải có phương thức ghi đè lên lớp cha (overriding) Tính đa hình thể hiển ghi đè lên lớp cha E Tính trừu tượng (Abstraction) - - - Hiểu đơn giản tính trừu tượng ta khai báo phương thức mặc định có lớp kế thừa từ lớp cha khác với tính đa hình Tính đa hình phương thức có nhiều chức với tính trừu tượng đối tượng tạo thông qua lớp trừu tượng phải bắt buộc khai báo phương thức trừu tượng có chức đối tượng Ví dụ : điện thoại di động phải mặc định nghe gọi, nên dù smart phone, hay đt cục gạch phải có chức nghe gọi Nghe gọi phương thức trừu tượng Tác dụng tính trừu tượng: o Tránh việc khai báo thiếu xót chức cho đối tượng o Giúp tập trung vào chức cần có chưa phải sâu vào cách thực ntn o Giúp dễ dàng bảo trì quản lý hệ thống o Cung cấp nhiều tính mở rộng với tính đa hình tính kế thừa Khai báo: o Abstract methods (phương thức trừu tượng): phương thức có tên khơng có cặp dấu { } đoạn code, dùng để khai báo phương thức trừu tượng mà class kế thừa bắt buộc phải overriding lên Ở ví dụ class kế thừa từ class bắt buộc phải có phương thức test() ghi đè lên o Abstract class (Lớp trừu tượng) lớp có phương thức trừu tượng với từ khóa abstract đứng trước tên class  Nếu lớp lớp trừu tượng ta khơng thể tạo object trực tiếp từ mà phải thơng qua class khác kế thừa từ class trừu tượng  Một class trừu tượng có khơng có phương thức trừu tượng  Class trừu tượng khơng cần có phương thức khởi tạo  Một lớp khác đc kế thừa từ class trừu tượng phải bắt buộc ghi đè lên phương thức trừu tượng F Interface javaa - Interface dạng class chứa số, phương thức trừu tượng Khai báo interface - Trong interfact thuộc tính mặc định số (khơng cần từ khóa static final)và phương thức ln phương thức trừu tượng (ko cần từ khóa abstract) Một class kế thừa interface gọi implements Một class implements nhiều interface khác nhau, interface kế thừa - *Điểm khác Interface abstract: Interface Interface class đặc biệt (giống class để biểu thị module) chứa số phương thức trừu tượng Khi class kế thừa implements (mở rộng phương thức trừu tượng) Một class implement nhiều interface khác Abstract Tương tự class bình thướng, vừa có thuộc tính phương thức bình thường, vừa có phươg thức trừu tượng Khi class kế thừa override (ghi đè phương thức trừu tượng) Một class extends class abstract Java Collection Framework A Khái niệm - - Java collection framework frame work cung cấp phương pháp để lưu trữ liệu dạng danh sách Nó có nhiều ưu điểm so với mảng có kích thước thay đổi, dễ dàng thêm sửa xóa Cấu trúc JCF: Trong đó: - Interable Interface: root interface collection class Collection Interface: interface định nghĩa cho class khác framework Nó khai báo phương thức mà collection có List Interface: collection phần tử list xếp có thứ tự có giá trị giống Set Interface: Là collection khơng thể có phần tử có giá trị Map Interface: Là collection mà cá phần từ cặp value key (giống object bên js) B Stack Queue Stack - Stack lớp mở rộng từ class Vector, chứa liệu dạng FILO (First-in , Last-out) Giống túi đồ bỏ đồ vào bỏ trước xếp cùng, bỏ dần lên, đến cuối nhất, lấy lấy từ xuống - Stack có phương thức o push() : để thêm phần tử theo nguyên tắc stack (từ đầu mảng) o pop() : lấy phần tử theo nguyên tắc Stack (từ đầu mảng) Queue - Queue interface collection, dạng queue sd nhiều LinkedList - Queue lưu trữ liệu dạng FIFO (First-in, First-out) giống túi chiều, thêm vào sau lấy từ trước - Trong Java có methods với Queue: o Offer() : thêm phần tử theo nguyên tắc Queue (thêm từ sau mảng) o Poll() : lấy phần tử theo nguyên tắc Queue (lấy từ đầu mảng) *Dequeue : quêu có đầu thêm vào đầu cuối lấy từ đầu cuối o Trong dequeue có đầu nên có thêm methods addFirst/Last() removeFirst/Last() *PriorityQueue: class kế thừa từ Queue Interface queue giá trị đưa vào xếp theo ưu tiên C List Interface - List Interface tương tự mảng thay đổi kích thước List Interface có số phương thức sau: add(o) add(i,o) addAll(list) Thêm phần tử o vào cuỗi mảng Thêm phần tử o vào vị trí i mảng Chèn tất phần tử list vào cuỗi lits kiểu liệu Trả phần tử vị trí i Xóa phần tử vị trí i Xóa phần tử o Xóa tất phần tử khỏi mảng Set phần tử vị trí i thành o Tìm kiếm phần tử o , trả true or false get(i) remove(i) remove(o) clear() set(i,o) contains(o) indexOf(o) , lastIndexOf(o),… toArray() Chuyển sang list sang mảng ArrayList - ArrayList class triển khai từ List Interface ArrayList sư dụng mảng động để lưu trữ phần tử - Đặc điểm: o Lớp ArrayList chứa phần tử trùng lập o Lớp ArrayList trì thứ tự phần tử o Lớp ArrayList không đồng o Lớp ArrayList cho phép truy cập ngẫu nhiên lưu phần tử theo mục o Lớp ArrayList chậm - Khai báo: phải import thư viện java.util.ArrayList - Trong đó: o Java.util.ArrayList : thư viện để khai báo o ArrayList : để khai báo ArrayList o : để khai bảo kiểu dử liệu phần tử ArrayList kiểu dử liệu thơng thừa class o danhSachTenSV : tên ArrayLisst o (10) : kích thước ban đầu ArrayList (có thể có không), collection khác muốn biến thành ArrayList - Để làm việc với ArrayList ta sử dụng vòng for với mảng LinkedList - LinkedList Class kế thừa từ List Interface DeQueue Interface - Hiểu đơn giản LinkedList mảng mà node có chứa giá trị: giá trị phần tử đó, trỏ tới địa phần tử Nếu trỏ tới null nghĩa là phần tử cuối mảng - Có loại LinkedList: o Singly LinkedList: LinkedList bình thường node có phần : giá trị trỏ tới node o Doubly LinkedList: LinkedList mà Node có thành phần: giá trị, có trỏ ; tới node trước ; tới node - Khai báo: (tương tự ArrayList) - - - Trong đó: o Import java.util.LinkedList : khai báo thư viện o LinkedList: từ khóa tạo linkedList o : kiểu dử liệu phần tử list o () : kích thước có, collection khác thành LinkedList Ưu điểm LinkedList: o Vì Node liến kết với qua địa nên node nằm vị trí ngẫu nhiên khơng cần mội chuỗi nhớ liên tục ArrayList hay mảng nên tiết kiệm nhớ o Dễ dàng để thêm xóa Node cần thay đỉa trỏ (O(1)), khơng cần phải dời vị trí phần tử khác mảng Nhược điểm o Vì lí nên LinkedList truy cập ngẩu nhiên mà phải truy cập từ đầu o Môi phần tử tốn nhiều nhớ - o Khó khăn việc tìm kiếm truy cập Một số phương thức LinkedList: getFirst() getLast() removeFirst/Last() removeAll() push() offer() poll( ) pop() *Khi dùng ArrayList dùng LinkedList: - Lấy phần tử Lấy phần tử cuối Xóa phần tử đầu / cuối Xóa tất phần tử Dùng với tính chất list thêm vào vào đầu Dùng với tính chất queue thêm vào sau Dùng với tính chất queue lấy thằng đầu Dùng với tính chất list xóa bỏ phần đầu ArrayList cho phép truy cập ngẫu nhiên nên nhu cầu truy xuất tìm kiếm nhiều dùng ArrayList, cịn LinkedList dễ dàng thêm sửa xóa, nên nhu cầu thêm sửa xóa nhiều dùng LinkedList D Set Interface - Set interface interface collection, liệu lưu set khơng có phần tử giống khơng xếp theo trình tự, phần tử set Set có số phương thức: add(o) add(i,o) addAll(list) Thêm phần tử o vào cuỗi mảng Thêm phần tử o vào vị trí i mảng Chèn tất phần tử set vào cuối set kiểu liệu Trả phần tử vị trí i Xóa phần tử vị trí i Xóa phần tử o Xóa tất phần tử khỏi mảng Set phần tử vị trí i thành o Tìm kiếm phần tử o , trả true or false Kiểm tra xem c có phải set hay khơng Tìm phần tử chung set Loại bỏ tất phần tử giống Chuyển sang list sang mảng get(i) remove(i) remove(o) clear() set(i,o) contains(o) containsAll(c) retainAll(c) removeAll(c) toArray() Hash Set - HashSet class triển khai từ set interface, giá trị HashSet không dựa theo thứ tự lúc thêm vào có giá trị - Trong HashSet có hệ số quan trọng làm ảnh hưởng đến hiệu xuất nhớ HashSet : Initial capacity (dung lượng khởi tạo) load factor (hệ số tải) o Kích thước HashSet lượng bucket HashSet (bucket nơi ta lưu trữ giá trị phần tử HashSet) Khi khởi tạo mặc định HashSet có kích thước 2^4 = 16, tự động tăng lên gấp đạt đến ngưỡng (tăng lên 32,64,128 ) o Hệ số tải : hệ số dùng để tính ngưỡng mà kích thước HashSet tăng lên gấp đôi (mặc định 0.75f) o CT tính ngưỡng HashSet: Ngưỡng = current capacity * load factor o VD: Giả sử HashSet khởi tạo với kích thước ban đầu 16 yếu tố tải 0.75 ngưỡng HashSet = 16 * 0.75 = 12 Con số 12 có nghĩa kích thước HashSet tăng từ 16 lên 32 sau phần tử thứ 12 thêm vào HashSet - Khai báo: TreeSet - TreeSetlà class triển khai từ set interface, giá trị TreeSet theo thứ tự từ tăng dần (như nhánh cây) - Khai báo: giốn HashSet thay từ khóa E Map Interfae - Map collection lưu trữ liệu dạng entry cặp key value (giống object js) Các key trùng nên dùng set để lưu key, value trùng - Một số phương thức map: entrySet() keySet() values() put(k , v) get(k) remove(k) Lấy tất entry Map lưu vào HashSet hoặ TreeSet Lấy tất keycủa Map lưu vào HashSet hoặ TreeSet Lấy toàn values Map Thêm phần tử vào map với key k value v Lấy values có key k Xóa phần tử có key k (xóa key lẫn value) replace(k,v) Thây value key k value v HashMap - HashMap class triển khai từ Map Interface, map phần tử không xếp theo thứ tự truyền vào - Khai báo: TreeMap - TreeMap class triển khai từ Map Interface, map phần tử xếp theo thứ tự tăng dần key - Khai báo: tương tự HashMap mà thay từ khóa Generics - - - Generics java khái niệm thêm vào từ java Được hiểu tham số hóa kiểu liệu Hay hiểu đơn giản tham số hóa kiểu liệu, kdl tham số dùng đến Tác dụng: o Dễ dàng bắt kdl không hợp lệ o Giúp khai báo khái quát class, interface, methods Một class hàm nhận nhiều tham số đầu vào viết cách khái qt generics Ví dụ: - Trong đó: ArrayList nhận nhiều kdl khác cặp dấu < > kdl viết hoa chữ đầu Một sớ quy ước Generics A Class Generics - Để tạo class generics ta thêm cặp dấu < > vào sau tên class - Vì T xem kiểu dử liệu nên sử dụng class kiểu liệu Khai báo object class generics: - Thừa kế class generics: B Methos Generics - Để tạo methods generics ta thêm < > vào trước kiểu trả methods: - Lưu ý: thêm từ khóa static Có thể dùng T để làm kiểu trả cho methods: Multithreading In Java - Multithreading đa luồng liệu java, ứng dụng gọi đa luồng có luồng trở lên chạy song song với Đa lương giúp ứng dụng thực nhiều công việc lúc - Có cách dùng multithreading java - o Extends class Thread : o Implements từ Runable Interface: Cả cách mang lại tác dụng khác vài điểm: o Nếu extends class Thread class ko thể kế thừa class nửa, cịn implement từ Runable kế thừa từ lớp khác o Khi dùng phương thức start class extends Thread dùng trực tiếp, implement từ Runable phải đổi kiểu sang Thread start() method Thread - Code thread chạy hàm run( ) Để gọi tới ta dùng methods strart() cho object:(ví dụ có dùng ép kiểu class multithreading_demo interface từ Runable) - Lưu ý: việc luồng chạy quy định java ngẫu nhiên cho lần chạy nên java cung cấp số phương thức để quản lý luồng *Một số method quản lý luồng chạy Đồng hóa đa luồng (synchronized) - Được dùng để xếp luồng truy xuất vào đối tượng cho khơng có xung đột liệu Tại thời điểm có luồng thực thi Chỉ luồng kết thúc luồng khác thực - Syntax: thêm từ khóa synchronized vào trước kiểu trả sau phạm vi - Tham khảo thêm tại: https://freetuts.net/dong-bo-hoa-da-luong-trong-java-1169.html join() sleep() - sleep() phương thức để làm luồng ngủ khoảng n miligiay (nó phải nằm cặp try catch) (phương thức dùng cho class) o - Ví dụ: join() phương thức để tạm dừng tất thread đến thread hoàn thành, tránh thread khác làm xung đột Nói dễ hiểu đóng băng thread đến thread hồn thành (phương thức dùng cho object) o Ví dụ: Exceptions - Exceptions trường hợp ngoại lệ, trường hợp làm cho chương trình bị lỗi bị sai, thường xuất q trình chương trình thực thi câu lệnh đó, xuất làm ngừng luồng hoạt động chương trình - Ví dụ: o Cho a/b b lại o Truy cập đến phần tử lớn kích thước mảng o Truy cập đến phần tử mảng null A Try catch - Try catch dùng để xử lý ngoại lệ: o Syntax: - Try block: khối để chứa code mà nghi ngờ xuất exceptions - Catch block : khối thực có exception - Có thể có nhiều Catch block theo sau try block, block thực thi cho exception cụ thể đó, có catch block nhận exception chung nằm cuối o Ví dụ: o Mỗi catch thực thi exception catch cuối thực chung tất exceptions B Finally Block - Finally block block ln thực cho dù có exception hay khơng, ln kèm với try-catch block try-block - Finaaly block thường dùng để dùng task, dọn dẹp exception, hay ngắt kết nối ngắt luồng - Ví dụ: o Trong đoạn code dù có exception hay khơng dịng “This is finally block luôn in ra” - Finally close() : close() sử dụng để đóng tất tiến trình (thread) mở chương trình để đảm bảo tất input output stream đóng cách dù có exception hay ko ta nên cho close() vào finally block - Cách để ngưng không cho code finally code thực thi: o Khác với phương thức thông thường ta finally code thực thi nằm return, break, continue o Để ngăn không cho finally block thực thi ta dùng câu lệnh System.exit() bên C Throw exception - Java định nghĩa sẵn class exception ArithaturesException, NullPulumException, hay ArrayIndexOutOfBound, v v Những exception dùng để catch trường hợp khác - Ví dụ : chia số cho ArithaturesException throw ra, hay truy cập đến index khơng hợp lệ ArrayIndexOutOfBound throw - Ngồi ta tự throw exception dựng sẳn java với message tự định nghĩa o Syntax: o Với câu lệnh ta gọi class exception với error massage ta tự định nghĩa: o Ví dụ: o Với chương trình chia cho số exception throw *Custom Exception: - Custom Exception class Exception mà người dùng tự định dạng, không cần dùng tới class exception định nghĩa sẳn java - Để khởi tạo Custome Esception ta phải extends từ class Exception - Ví dụ: - Khi dùng throw để gọi custome exception ta cần phải throws tên class - Ví dụ: - Giải thích : class exception định nghĩa sẳn chất class ta gọi đến ta tạo object từ class muốn định nghĩa custome exception ta định nghĩa class extends từ class exception gọi object class custom dùng đến từ khóa throws để khai báo phương thức có gọi tới object custome class, dùng throw new để tạo object Làm việc với file java A Cách tạo file - Cách tạo file java: để tạo file ta dùng class File phương thức createNewFile( ) để tạo file Phương thức creatNewFile( ) trả true chưa có tập tin tồn vị trí đỉnh ngược lại trả false - Khi tạo file có exception ném ra: o IOException : xảy lỗi input/ output trình tạo file o SecurityException : xảy lỗi bảo mật - Syntax: - Trong : o File file = new File(“D:\\newfile.txt) : để tạo đối tượng file (giống khai báo file) - o (“D:\\newfile.txt”) : đường dẫn tới file tên file o file.createNewFile() : để tạo file chưa có file đường dẫn trả true ngược lại false Ví dụ: B Đọc file - Để đọc file ta phải khai báo đối tượng file ( File file = new File(“đường dẫn”) ) - Tiếp theo truyền đối tượng file làm tham số cho đối tượng FileInputStream fis = new FileInputStram(file) - Truyền đối tượng FileInputStream làm tham số cho đối tượng BufferedInputStream bis = new BufferedInputStream(fis) - Cuối sử dụng vòng lặp để đọc file Phương thức available() sử dụng để kiểm tra phần cuối file trả trỏ nằm cuối file Đọc nội dung file phương thức read() FileInputStream - Ví dụ: C Ghi file - Để ghi ta cần khai báo file - Tiếp theo ta dùng phương thức write FileOutputStream để ghi file o - - Ví dụ: Lưu ý tham số phương thức file có kdl byte array nên ta phải chuyển string muốn ghi vào file thành byte array phương thức getBytes() D Ghi nối file - Để ghi nói ta có cách o Sử dụng FileWriter BufferWrite o Sử dụng PrintWriter - Trong phần ta dùng PrintWriter - Để dùng PrintWriter ta phải khai báo file - Tiếp theo dùng file làm tham số cho FileWriter - Dùng FileWriter làm tham số cho BufferWrite dùng BufferWrite làm tham số cho PrintWriter - Dùng phương thức print() println() PrintWriter để ghi nối - Ví dụ: - Lưu ý : FileWriter có tham số đối tượng file tham số boolean để true để ghi nối ... giá trị cần thiết Phương thức tĩnh (Static Method): phương thức khởi tạo với từ khóa static Các phương thức khai báo static gọi phương thức hay thuộc tính khơng khai báo static Lý phương thức tĩnh... phương thức bình thường, vừa có phươg thức trừu tượng Khi class kế thừa override (ghi đè phương thức trừu tượng) Một class extends class abstract Java Collection Framework A Khái niệm - - Java. .. https://freetuts.net/dong-bo-hoa-da-luong-trong -java- 1169.html join() sleep() - sleep() phương thức để làm luồng ngủ khoảng n miligiay (nó phải nằm cặp try catch) (phương thức dùng cho class) o - Ví dụ: join() phương thức để tạm dừng

Ngày đăng: 22/07/2022, 14:07

Xem thêm:

w