2012-05-10 46 views

Trả lời

14

Nó nhập các phương thức và biến của đối tượng. Vì vậy, nếu bạn muốn gọi số a.foo(), bạn có thể chỉ cần gọi số foo().

9

Điều đó có nghĩa là tất cả các phương pháp và biến của a đối tượng của loại A hiện có sẵn trong khối này (phạm vi) mà không đề cập rõ ràng a. Vì vậy, nếu A có một phương pháp bar() bây giờ bạn có thể nói:

bar() 

thay vì

a.bar() 

nhưng chỉ trong phạm vi nơi import được định nghĩa.

6

Hãy giải thích điều này với một cái gì đó bạn nên làm quen với:

println("Hello world") 

Câu hỏi đặt ra là: tại sao mà làm việc? Không có đối tượng nào được gọi là println với phương thức apply, đây là giải thích thông thường cho mã trông giống như vậy. Vâng, khi nó xảy ra, các mã trên được thực sự làm điều này:

Predef.println("Hello world") 

Nói cách khác, println là một phương pháp trên đối tượng scala.Predef. Vì vậy, làm thế nào bạn có thể sử dụng nó như trên? Vâng, như thế này:

Nhập nội dung của một tham chiếu ổn định (tức là, không phải là một var hoặc một def) sẽ làm cho phương pháp của nó có sẵn mà không cần phải thêm tiền tố họ với reference..

Nó cũng làm cho bất kỳ implicits định nghĩa bên trong nó có sẵn, đó là cách chuyển đổi ngầm định nghĩa bên scala.Predef được làm sẵn cũng - Scala nhập khẩu nội dung của java.lang, scalascala.Predef (theo thứ tự đó, vì vậy những người ghi đè sau những cái trước đó).

+0

+1 vì bạn đã đề cập đến tham chiếu _stable_ –

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