2011-06-24 32 views

Trả lời

7

Tự động đấm bốc và tự động hủy hộp chỉ hoạt động với nguyên thủy. Khái niệm bạn đang nói về tương tự như chuyển đổi C++. Thật không may, không có điều như vậy trong Java. Điều tốt nhất bạn có thể làm là

Price myPrice = new Price(10.0); 
2

Không, bạn không thể xác định các loại nguyên thủy của riêng bạn cho số lượng bằng số.

Khai báo Price myPrice có nghĩa là biến myPrice sẽ thuộc loại Giá và sẽ được sử dụng làm trường hợp của nó.

Bạn có thể có các điều sau hợp lệ.

Giả sử bạn khai báo biến số myPrice loại Price. Một số biến mẫu có thể được truy cập thông qua tham chiếu myPrice đó.

Price myPrice = new Price(); 
myPrice.value = 10.0; 
myPrice.currency = "Dollar"; 
etc .... 
+0

@Joachim: giá trị và tiền tệ là các biến cá thể của lớp 'Giá'. Vì vậy, chúng có thể được truy cập thông qua tham chiếu 'myPrice' –

+0

nhưng không có' 'myPrice = new Price();' 'do đó dòng 2 sẽ ném một NPE. Đó là ý của Joachim. EDIT: trả lời quá muộn: -/ – f1sh

+0

^Có ... Rất tiếc. Bỏ lỡ điều đó. :-) –

0

Bạn không thể mở rộng Double lớp học, vì nó là cuối cùng.

Nhưng bạn có thể mở rộng lớp Number và triển khai giao diện Comparable - cách thực tế Double class is created.

0

No. Nó được kết nối với ngôn ngữ.

Chỉ các nguyên thủy có thể được khởi tạo mà không có từ khóa new, ngoại trừ String, mặc dù không phải là nguyên thủy, có thể được chỉ định bằng cú pháp nguyên thủy. tức là cả hai new String("foo")"foo" sẽ làm điều đó (lưu ý rằng đây không phải là chính xác là giống nhau).

+0

Nói đúng nguyên thủy không thể được khởi tạo ở tất cả, chúng không phải là đối tượng. Auto-boxing cho phép tạo ra các đối tượng wrapper nguyên thủy trong một số trường hợp. –

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