Lập trình java - Bài 13: Enumeration, Autoboxing, Static Import and Annotations

Lập trình java - Bài 13: Enumeration, Autoboxing, Static Import and Annotations

 Enumeration, Autoboxing, Static Import and Annotations trong lập trình java

Nội dung bài học

Enumerations

Autoboxing

Static Import

Annotations

Enumeration

Enumeration là kiểu dữ liệu chứa một tập các hằng số.

Các giá trị của enumeration được mặc định là staticfinal.

Để tạo enumeration, sử dụng từ khóa enum

enum Transport{

CAR, TRUCK, AIRPLANE, TRAIN, BOAT

}

CAR, TRUCK, … được gọi là các hằng số liệt kê.

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(t){

case CAR: //

case TRUCK: //

Phương thức values()
Lấy ra một mảng các hằng số
Transport tps[] = Transport.values();
Phương thức valueOf(const)
Lấy ra hằng số có giá trị là const
tp = Transport.valueOf("TRAIN");

Enumeration trong lập trình java

enumeration trong lập trình java

Phương thức ordinal()
Cho biết vị trí của hằng số trong enum. Vị trí đầu tiên được bắt đầu là 0.
Phương thức compareTo(contst)
Cho biết hằng số hiện tại là đứng trước hay đứng sau hay đúng là vị trí của một hằng số cho trước.

Autoboxing

Autoboxing: Tự động chuyển đổi thủy nguyên dữ liệu kiểu thành đối tượng kiểu.
Thủy nguyên dữ liệu kiểu không phải là object (đối tượng), nên có một số hạn chế trong khi thao tác và làm giảm hiệu suất làm việc.
Chỉ có đối tượng thì mới được truyền theo phương thức tham chiếu kiểu.
Tất cả các class bao bọc (class wrapper) đều được kế thừa từ class abstract Number.

autoboxing trong lập trình java

autoboxing trong lập trình java

Các phương thức trả về kiểu dữ liệu nguyên thủy của các class wrapper là:

byte: byteValue( )
double: doubleValue()
float: floatValue( )
int:         intValue( )
long: longValue( )
short: shortValue( )

Các phương thức trả về một đối tượng là instance của class wrapper:

Integer: Integer.valueOf(int)
Byte: Byte.valueOf(byte)
Short: Short.valueOf(short)
Float: Float.valueOf(float)
Double: Double.valueOf(double)
Long: Long.valueOf(long)
Tạo đối tượng Integer với giá trị là 100:
Integer iobj = new Integer(100);
Tạo một biến int với giá trị lấy ra từ đối tượng Integer ở trên:
int i = iobj.intValue();
Tự động chuyển kiểu trong phép gán:
Integer iobj = 100; int i = iobj;
Tự động chuyển kiểu trong biểu thức
iobj++; iobj += 10;
Ưu điểm của việc sử dụng class Number:
Làm tham số cho các phương thức mà phương thức đó bắt buộc tham số truyền vào phải là 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 và chuyển đổi từ dạng string sang các dạng số (decimal, octal, hexadecimal, binary).

autoboxing trong lập trình java

Static import

Java sử dụng từ khóa import khi muốn sử dụng các class ở package khác.
Java 5 cũng đã bổ sung từ khóa ‘static’ cùng với từ khóa import để thuận tiện cho việc sử dụng các phương thức static có trong các class mà không cần phải viết tên class.
Gói java.lang chứa class Math, trong class này có các phương thức tính toán số học như: căn bậc 2, tính số mũ, tính e mũ …
Các phương thức trên đều là static
Thông thường, muốn tính căn bậc 2 một số ta viết:
x = Math.sqrt(1000)
Sử dụng
import static java.lang.Math.sqrt;
thì, khi dùng chỉ 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 là một dạng metadata – siêu dữ liệu được dùng để mô tả một đối tượng nào đó (như class, method).
Mô tả dữ liệu là một tập giá trị chứa những thông tin gắn gọn, cơ bản mô tả về đối tượng đó.

Annotation mô tả một class

@interface ClassTest { String value(); String owner();
}
@ClassTest(value = "Class scope", owner = “Anna") public class AnnocationForClass {
public static void main(String[] args) { System.out.println("Test annotation !");
}
}

Annotation mô tả một phương thức

@interface MethodTest { String value(); String owner();
}
...
@MethodTest(value = "Method scope", owner =“Anna”) public void display() {
System.out.println(“Annotation method testing");
}

Annotation mô tả một class và field

Annotation mô tả một class và field trong lập trình java

Ý nghĩa anonation trong lập trình java

ý nghĩa anonation trong lập trình java

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();
}
}
class Child extends Parent{
@Override
public void hi(){ System.out.println("Hello !");
}
}

Tổng kết bài học

Enumerations
Autoboxing
Static Import
Annotations








ĐĂNG NHẬN XÉT

Previous Post Next Post