Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,1 MB
Nội dung
LẬP TRÌNH JAVA BÀI 7: ENUMERATIONS, AUTOBOXING, STATIC IMPORT, AND ANNOTATIONS PHẦN MỤC TIÊU Enumerations Autoboxing Static Import Annotations ENUMERATION Enumeration kiểu liệu chứa tập số Các giá trị enumeration mặc định static final Để tạo enumeration, sử dụng từ khóa enum public enum Transport{ CAR, TRUCK, AIRPLANE, TRAIN, BOAT } CAR, TRUCK, … gọi số liệt kê ENUMERATION Khai báo: Transport tp; Trong phép gán tp = Transport.CAR; Trong phép so sánh if (tp == Transport.TRAIN) Trong câu lệnh switch switch(tp){ case CAR: case TRUCK: … } ENUMERATION Phương thức values() Lấy mảng số Transport tps[] = Transport.values(); Phương thức valueOf(const) Lấy số có giá trị const tp = Transport.valueOf("TRAIN"); ENUMERATION Thuộc tính Phương thức khởi tạo Phương thức get ENUMERATION Phương thức ordinal() Cho biết vị trí số enum Vị trí bắt đầu Phương thức compareTo(contst) Cho biết số đứng trước hay đứng sau vị trí số cho trước AUTOBOXING Autoboxing: Tự động chuyển đổi kiểu liệu nguyên thủy thành kiểu đối tượng Các kiểu liệu nguyên thủy đối tượng (object) nên có số hạn chế thao tác làm giảm hiệu suất làm việc Chỉ có object truyền theo kiểu tham chiếu vào method AUTOBOXING Tất class bao bọc (class wrapper) kế thừa từ class abstract Number Number Byte Short Integer Long Float Double AUTOBOXING Mỗi kiểu liệu nguyên thủy có class wrapper tương ứng Kiểu nguyên thủy Các lớp bao byte Byte short Short int Int long Long float Float double Double AUTOBOXING Autoboxing: Tự động chuyển kiểu phép gán: Integer iobj = 100; int I = iobj; Autounboxing: Tự động chuyển kiểu biểu thức iobj++; iobj += 10; AUTOBOXING Ưu điểm việc sử dụng class Number: Làm tham số cho phương thức mà phương thức bắt buộc tham số truyền vào phải kiểu đối tượng Có nhiều phương thức chuyển đổi giá trị kiểu nguyên thủy kiểu đối tượng chuyển đổi từ dạng string sang dạng số (decimal, octal, hexadecimal, binary) AUTOBOXING List li = new ArrayList(); for (int i = 1; i < 50; i += 2) li.add(i); Autoboxing li.add(Integer.valueOf(i)); public static int sumEven(List li) { int sum = 0; for (Integer n: li) if (n % == 0) Unboxing sum = sum + n; sum = sum + return sum; n.intValue(); } LẬP TRÌNH JAVA BÀI 7: ENUMERATIONS, AUTOBOXING, STATIC IMPORT, AND ANNOTATIONS PHẦN STATIC IMPORT Java sử dụng từ khóa import muốn sử dụng class package khác Java bổ sung từ khóa ‘static’ với từ khóa import để thuận tiện cho việc sử dụng phương thức static có class mà không cần phải viết tên class STATIC IMPORT Gói java.lang chứa class Math, class có phương thức tính tốn số học như: bậc 2, tính số mũ, tính e mũ … Các phương thức static Thơng thường, muốn tính bậc số ta viết: x = Math.sqrt(1000) STATIC IMPORT Sử dụng import static java.lang.Math.sqrt; thì, dùng cần viết: x = sqrt(1000); Hoặc import static java.lang.Math.*; import static java.lang.System.out; thì: y = pow(10,2); out.println(“Hello there !”); ANNOTATION Annotation dạng metadata (siêu liệu) dùng để mô tả đối tượng phương thức Annotation tập giá trị chứa thông tin gắn gọn, mô tả đối tượng VÍ DỤ VỀ ANNOTATION Khai báo Annotation @interface MyAnno{ String value(); String owner(); } Sử dụng Annotation @MyAnno(value="Class scope", owner=“Anna") public class MyClass{ public static void main(String[] args) { System.out.println("Test annotation !"); } } ANNOTATION Khai báo Annotation @interface MyAnno{ String value(); String owner(); } Sử dụng Annotation với phương thức @MyAnno(value="Method scope", owner=“Anna”) public void display() { System.out.println(“Annotation method testing"); } VÍ DỤ ANNOTATION Annotation mô tả class field ANNOTATION Annotation Ý nghĩa @Deprecated Method đánh dấu khơng sử dụng nữa, tồn tính tương thích @Override Thơng báo cho trình biên dịch biết phương thức bên phương thức viết lại kế thừa từ lớp cha @SuppressWarnings Thơng báo cho trình biên dịch tắt cảnh báo ANNOTATION public class example { @Deprecated public void showSomething() { System.out.println("Method has been depricated"); } public static void main(String[] args) { example obj = new example (); obj.showSomething(); } } ANNOTATION Sử dụng @Override public class Child extends Parent{ @Override public void hi(){ System.out.println("Hello !"); } } TỔNG KẾT NỘI DUNG BÀI HỌC Enumerations Autoboxing Static Import Annotations ... 7: ENUMERATIONS, AUTOBOXING, STATIC IMPORT, AND ANNOTATIONS PHẦN STATIC IMPORT Java sử dụng từ khóa import muốn sử dụng class package khác Java bổ sung từ khóa static với từ khóa import để... viết: x = Math.sqrt(1000) STATIC IMPORT Sử dụng import static java.lang.Math.sqrt; thì, dùng cần viết: x = sqrt(1000); Hoặc import static java.lang.Math.*; import static java.lang.System.out;...MỤC TIÊU Enumerations Autoboxing Static Import Annotations ENUMERATION Enumeration kiểu liệu chứa tập số Các giá trị enumeration mặc định static final Để tạo enumeration, sử dụng