• Home
  • Thông báo
    • Kiến Thức
    • Học Tập
  • Tổ Chuyên Môn
  • PHHS
  • T.Viện Ảnh
  • Giáo Viên Download
No Result
View All Result
No Result
View All Result
Home Hỏi Đáp
Groovy và sự khác biệt với Java – Viblo

groovy là gì

Groovy và sự khác biệt với Java – Viblo

thptnguyenthidieu edu.vn by thptnguyenthidieu edu.vn
30 Tháng Mười Hai, 2022
in Hỏi Đáp
Share on FacebookShare on Twitter

Groovy là gì

groovy – một ngôn ngữ lập trình động chạy trên máy ảo java, với các tính năng tương tự như python hoặc ruby. Nó hỗ trợ 99% cú pháp java nên rất đơn giản và thân thiện để bạn dán một đoạn code java để chạy trên groovy.

Đã sử dụng groovy từ năm 2013, khi google io công bố android studio sử dụng bản dựng lớp và tập lệnh groovy. Nhưng cho đến bây giờ, tôi vẫn chưa có cơ hội sử dụng groovy như một ngôn ngữ thay thế trong các dự án thực tế. Đối với tôi, mọi thứ vẫn chỉ gặp khó khăn khi định cấu hình các tập lệnh xây dựng trong đường dẫn gradle hoặc jenkins. Vì vậy, kết hợp tất cả những gì tôi đã học được với một chút kinh nghiệm của bản thân, tôi rất mong nhận được sự góp ý của các bạn nếu có gì sai sót. Cảm ơn! !

Mọi nhà phát triển java nói chung vẫn cần nhập gói mỗi khi một lớp như java.io.file được sử dụng. Nhưng điều này không bắt buộc trong groovy, các gói sau được nhập theo mặc định.

Giả sử đoạn code của chúng ta có 2 phương thức được nạp chồng như hình bên dưới. Biên dịch và chạy cho java và groovy -> sẽ cho 2 kết quả khác nhau.

Kết quả:

  • Kết quả java sẽ là 2.
  • Kết quả bình thường sẽ là 1.
  • Đối với java, phương thức sẽ được chọn tại thời điểm biên dịch dựa trên kiểu dữ liệu được khai báo là một đối tượng trong ví trên

    Trong khi với Groovy, phương thức sẽ được chọn trong thời gian chạy, điều này cũng dựa trên kiểu dữ liệu đã khai báo. Nhưng trong thời gian chạy, o bây giờ là một đối tượng chuỗi. Vì vậy, 1 là kết quả của groovy ==> đây được gọi là công văn thời gian chạy hoặc đa phương thức trong groovy.

    Trong java, việc khởi tạo mảng có thể được thực hiện như sau:

    Nhưng nó không được phép trong groovy. Bởi vì các cặp {} chỉ được sử dụng để đóng. Thay vào đó, nó sẽ sử dụng như sau:

    Trong java:

    Trong Groovy, không có khái niệm về công cụ sửa đổi truy cập trường.

    Điều đó có nghĩa là, ngay cả khi bạn thêm/xóa một công cụ sửa đổi trường như java, nó sẽ hoàn toàn không ảnh hưởng đến khả năng truy cập của trường đó.

    Để thực hiện việc này, bạn cần sử dụng chú thích @packagescope, chú thích này sẽ kết hợp bộ thu thập và bộ thiết lập của trường (bộ thu thập và bộ thiết lập được tạo ngầm trong Groovy)

    arm (quản lý tài nguyên tự động) được hỗ trợ kể từ java 7, trong khi groovy thì không. Thay vào đó, Groovy cung cấp các cách khác nhau để dựa vào các lần đóng có giá trị như nhau và các lần đóng mang lại sự đơn giản hơn

    Việc tạo các lớp bên trong ẩn danh và các lớp lồng nhau vẫn tuân theo các quy tắc java. Tuy nhiên, trong Groovy, cú pháp đơn giản hơn một chút, có một số từ bổ nghĩa cú pháp, không có từ bổ trợ truy cập, các biến cục bộ không cần phải là giá trị cuối cùng

    Lớp bên trong tĩnh

    Lớp bên trong ẩn danh

    Tạo một thể hiện của lớp bên trong không tĩnh

    Cú pháp y.new x(); Groovy không hỗ trợ. Thay vào đó, chúng ta phải viết x(y) mới như thế này:

    java 8 có lambdas, groovy có bao đóng.

    Đây là cách java 8 sử dụng lambdas:

    Và hấp dẫn

    Để nối chuỗi trong java, chúng ta thường sử dụng toán tử + để nối chuỗi, như sau:

    Nhưng trong Groovy thì đơn giản và dễ dàng hơn.

    và cặp ký tự chuỗi trích dẫn kép ${} ở trên được gọi là giá trị gstring.

    Trong groovy, dấu nháy đơn được sử dụng cho chuỗi, dấu ngoặc kép được sử dụng cho chuỗi hoặc gstrings (nếu nội suy gstring ${} )

    Kiểu dữ liệu char chỉ được hiểu nếu biến được khai báo rõ ràng là char

    Truyền nhân vật

    groovy hỗ trợ 2 loại chuyển đổi, từ chuỗi thành ký tự ->. Đúc cũng tạo nên sự khác biệt.

    Groovy sử dụng các đối tượng cho mọi thứ và các kiểu dữ liệu nguyên thủy được tự động đưa vào các lớp trình bao bọc thích hợp.

    Bảng đóng gói ban đầu

    Xem ví dụ bên dưới để biết sự khác biệt khi sử dụng java và groovy trong thời gian chạy.

    Trong java, so sánh == được hiểu là so sánh 2 giá trị nguyên thủy hoặc xác định đối tượng.

    Trong groovy == được hiểu là a.compareto(b)==0 nếu ab có thể so sánh được, nếu không thì nó được hiểu là a.equals(b)

    Bảng so sánh chuyển đổi loại dữ liệu Java và Groovy.

    • y : Có, java có thể chuyển đổi
    • c : có, nhưng yêu cầu chuyển đổi rõ ràng
    • t : có, nhưng dữ liệu sẽ bị loại bỏ
    • n : Không, không được phép
    • bảng chuyển đổi java

      Bảng chuyển đổi chung

      • y: vâng, Groovy có thể chuyển đổi
      • d : có, chuyển đổi tự động tại thời điểm biên dịch hoặc yêu cầu chuyển đổi rõ ràng
      • t : có, nhưng dữ liệu sẽ bị loại bỏ
      • b : có, autoboxing/unboxing n : không, không được phép
      • Ngoài các từ khóa java, groovy còn sử dụng các từ khóa sau:

        • Như
        • Xác định
        • tại
        • Đặc điểm
        • Cũng như trong java, từ khóa không được sử dụng làm tên biến.

          Trong java, mọi câu lệnh đều kết thúc bằng dấu chấm phẩy ;. Nhưng với groovy thì đó là tùy chọn và tất nhiên không có nó cũng không sao. groovy hiểu và biên dịch tốt.

          Điều duy nhất, nếu ; được sử dụng, một số IDE sẽ đánh dấu nó là không cần thiết.

          Không còn cần thiết phải sử dụng các phương thức trả về hấp dẫn nữa. Điều này hữu ích cho các khối mã như bao đóng hoặc các phương thức đơn giản.

          Tất nhiên, điều này không có nghĩa là chúng ta phải từ bỏ việc trả lại, bởi vì trong một số trường hợp, việc trả lại vẫn được yêu cầu.

          Hậu tố

          .class có thể được bỏ qua khi được truyền dưới dạng đối số. Giống như ví dụ về person.class bên dưới

          Đối với java, bạn cần chỉ định rõ ràng ngoại lệ trong phần khai báo.

          Nhưng đối với Groovy thì nó như thế này

          Có lẽ có nhiều điểm khác biệt thú vị hơn trong Groovy.

          Những điều trên là do tôi tự tìm hiểu và viết lại theo cách hiểu của bản thân, và một phần áp dụng vào công việc thực tế.

          groovy Nó hỗ trợ 99% cú pháp java và nó cung cấp cú pháp trình bày ngắn gọn và đơn giản. Khi grails ngày càng trở nên phổ biến, nó sẽ giúp chúng ta phát triển ứng dụng nhanh hơn

          Tìm hiểu về groovy, learn, docs, v.v. Bạn có thể tìm thấy nó tại http://groovy-lang.org

Previous Post

Điệp Cấu Trúc Là Gì – Tác Dụng Và Lấy Ví Dụ Điệp … – Blog Anh Hùng

Next Post

Chim Sa Cá Lặn Nghĩa Là Gì ? Điềm Báo Cần Lưu Ý

thptnguyenthidieu edu.vn

thptnguyenthidieu edu.vn

Thptnguyenthidieu.edu.vn

Bài viết mới

  • Tải ngay Minecraft phiên bản mới nhất tại Techvui
  • Nằm mơ thấy rắn đánh con gì?
  • Cập nhật mẹo và kinh nghiệm chơi Slayer Legend dễ thắng nhất
  • Stick War Legacy và Anger of Stick 5 Zombie: Cập nhật link tải game mới nhất tháng 3/2023
  • Du học tiếng Anh Philippines liệu có nên hay không?

Bình Luận Nhiều

Cây sen thơm: Ý nghĩa, hình ảnh, cách trồng, chăm sóc tại nhà

Thể thơ Thất ngôn tứ tuyệt

Top stt tán gái hay đỉnh cao, thả thính auto đổ để thoát ế

Hướng dẫn và ví dụ về công thức mảng

99 STT Thiên Nhiên, Những câu nói hay về cảnh đẹp, phong cảnh

Mục lục

  • Phebinhvanhoc.com.vn
  • Vuihecungchocopie.vn
  • Vccidata.com.vn
  • Truongxaydunghcm.edu.vn
  • Bestwesternpremiersapphirehalong.vn

Website đang trong quá trình thử nghiệm AI biên tập, mọi nội dung trên website chúng tôi không chịu trách nhiệm. Bạn hãy cân nhắc thêm khi tham khảo bài viết, xin cảm ơn! Website đang chờ đăng ký bộ văn hóa thông tin.
© 2023 thptnguyenthidieu.edu.vn - httl.com.vn - VF555 - Xổ Số Kết Quả

No Result
View All Result
  • Home
  • Thông báo
    • Kiến Thức
    • Học Tập
  • Tổ Chuyên Môn
  • PHHS
  • T.Viện Ảnh
  • Giáo Viên Download

Website đang trong quá trình thử nghiệm AI biên tập, mọi nội dung trên website chúng tôi không chịu trách nhiệm. Bạn hãy cân nhắc thêm khi tham khảo bài viết, xin cảm ơn! Website đang chờ đăng ký bộ văn hóa thông tin.
© 2023 thptnguyenthidieu.edu.vn - httl.com.vn - VF555 - Xổ Số Kết Quả