2012-05-07 39 views

Trả lời

30

Nó trả về cùng những gì Object.getClass() làm cho một trường hợp cụ thể, nhưng bạn có thể sử dụng nó khi bạn biết tĩnh lớp nào bạn muốn (tức là tại thời gian biên dịch).

Từ Javadoc:

Trả về lớp thời gian chạy của đối tượng này.

Tóm lại, nó cung cấp cho bạn một đối tượng đại diện cho lớp của đối tượng (nguyên bản). Nó được sử dụng, trong số những thứ khác, bởi reflection khi bạn muốn khám phá các phương thức và các trường theo chương trình để gọi/truy cập chúng.

Ví dụ:

 Method m[] = String.class.getDeclaredMethods(); 
     for (int i = 0; i < m.length; i++) 
     { 
      System.out.println(m[i].toString()); 
     } 

Các Javadoc cũng đề cập bạn đến Java Language Specification - Class Literals (mà có thể là một chút đọc nặng).

11

Nó trả về đối tượng Lớp đại diện cho tên lớp được chỉ định. Điều này được sử dụng nếu bạn cần để có được đối tượng Class.

Khoảng này tương ứng với .getClass() trả về đối tượng Lớp tương ứng với cá thể đối tượng. Bạn sử dụng someclassname.class khi bạn muốn làm việc với đối tượng Class và không có một cá thể đối tượng.

+1

Điều này có nghĩa là nó trả về phiên bản lớp? – Rajeshwar

+0

@Rajeshwar no: ví dụ: 'new Object()' trả về một cá thể mới của 'Object', nhưng' Object.class' là và instance của lớp 'Class '. Họ là những thứ khác nhau. – trutheality

+0

@trutheality bạn có thể vui lòng xây dựng .. – Rajeshwar

1

Giống như phương thức .getClass(), nhưng chỉ có thể được sử dụng cho các lớp có tên và không có hiệu lực. Cú pháp .class cho phép lấy Class nếu kiểu đối tượng có sẵn, nhưng không có cá thể nào. Ngoài ra, cách dễ nhất để có được một lớp học cho một loại nguyên thủy.

3

.class là một lớp theo nghĩa đen ... Giống như 5 là chữ int, giống như 5.0 là chữ gấp đôi (đáng ngạc nhiên, có một lớp có tên là 'Lớp' trong gói java.lang).

Vì vậy bạn có thể in chữ lớp (giống như bạn có thể in bất kỳ đối tượng nào ... bạn nhận được phương thức toString() trả về trong lớp Class). Bạn có thể có biến Class.

PS: có nhiều chức năng mà bạn có thể sử dụng

Các vấn đề liên quan