2012-02-29 91 views
6

Đây là mã nguồn hoàn toàn:Dấu ngoặc nhọn/dấu ngoặc rỗng có nghĩa là gì trong Java?

http://zerioh.tripod.com/ressources/sockets.html

Đây là mã tôi muốn nhấn mạnh:

Provider(){} 

nào dòng này có nghĩa là gì? Cảm ơn.

+2

+1 - Câu hỏi hay! Nó khá cơ bản tất nhiên, nhưng nó là kích thích tư duy và làm nổi bật như thế nào các cấp độ truy cập có thể được sử dụng để hạn chế truy cập và làm rõ mục đích của một lớp. Tôi cảm thấy như nhiều người bỏ qua những điều này và không thấy làm thế nào họ có thể giao tiếp một cái gì đó như "Lớp này chỉ được sử dụng trong gói này và không nơi nào khác". – jmort253

Trả lời

4

Điều đó có nghĩa là không có gì để thực thi trong Trình xây dựng này. Thông thường Java cung cấp điều này theo mặc định để viết ra Provider() {} là không cần thiết.

Sự khác biệt chính giữa cái này và cái được trình biên dịch cung cấp theo mặc định là quyền truy cập bị hạn chế vì nó không được công khai.

+1

Điều này không thực sự giống như hàm tạo java tạo ra. Tôi tin rằng các nhà xây dựng được tạo tự động có sự công khai. Điều này có tầm nhìn mặc định. –

+0

xấu của tôi. Tôi sẽ chỉnh sửa bài đăng. Cảm ơn bạn. – javaCity

+0

@javaCity - Đã chỉnh sửa câu trả lời của bạn để làm cho câu trả lời chính xác hơn. :) +1 – jmort253

1

Đây là hàm tạo có khả năng truy cập mặc định.

1

Phương thức khởi tạo no-arg đơn giản được xác định thay vì không khai báo. Tuy nhiên, do công cụ sửa đổi cấp độ truy cập "công khai" bị bỏ qua, điều này có nghĩa là hàm tạo no-arg được định nghĩa bằng cách sử dụng gói mặc định.

Điều này có nghĩa là bất kỳ lớp nào bên ngoài gói sẽ không thể khởi tạo nó. Chỉ các lớp trong gói mới có thể khởi tạo lớp Provider.

0

Đó là default constructor không có gì.

Một đối tượng của lớp này có thể được tạo bằng gói.

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