Groovy 和 Java 的区别

Groovy 和 Java 的区别

Groovy 是一种强大的、可选类型的动态语言,用于在其语法类似于 JavaJava 平台上开发应用程序。它的打字规则是强大的、静态的和动态的。Groovy 最好的地方在于,由于它扩展了 JDK,它接受了 Java 代码。Groovy 既可以用作编程语言,也可以用作脚本语言。Groovy 是 Java 的超集,这意味着 Java 程序将在 Groovy 环境中运行,反之亦然,也可能不可能。而 Java 是强类型和静态类型的编程语言。

1. 默认导入

在 Groovy 中,默认会导入一些通用包和类:

  • java.io.*
  • java.lang.*
  • java.math.BigDecimal
  • java.math.BigInteger
  • java.net.*
  • java.util.*
  • groovy.lang.*
  • groovy.util.*

在 Java 中,默认情况下仅导入 java.lang.* 包。

2. 额外关键词:

as , define , trait 这些是 Groovy 中的额外关键字。不能将此关键字用作变量名。

3. 默认访问修饰符:

在 Java 中,默认访问修饰符是包,即如果没有为字段、方法或类指定访问修饰符,它就会变成包私有。
在 Groovy 中,它默认是公共的。

4. Getter 和 Setter:

在 Java 中,需要为字段提供 gettersetter 方法,特别是如果遵循 Java Beans 命名约定并使用工具和库,它们使用反射来动态访问和改变 bean 属性。在 Groovy 中,为类成员自动生成 getter 和 setter。

5. 点分隔符:

在 Java 中,我们使用点运算符 ( . ) 来访问类的属性

Groovy 还支持点运算符,但与 Java 调用不同的是,它实际上通过 getter 和 setter,它们在 Groovy 中自动生成。

  1. 在 Groovy 中,分号 (;) 是可选的,仅当您喜欢或想要在一行中编写多个语句时才使用它们。
    1. for循环:
    2. 与在大多数任务中使用 for 循环一样,在 Groovy 中声明 for 循环要容易得多,可以将 for 循环声明为:
      “`java for(j in 0..4){ print j }
      0.upto(3) { print "it" }
      4.times{ print "
      it" }</li>
      </ol></li>
      </ol>

      <pre><code class=""><br /><br />在Java中的写法:
      “`java
      for(int i=0;i<=5;i++){
      System.out.println(i);
      }

      8. 安全导航操作员:

      在 Java 中必须执行一些操作来检查空对象,以避免空指针异常。

      String str = null;
      if(str != null){
          System.out.println(str.reverse());
      }
      

      但是在 Groovy 中,可以直接执行以下操作:

      println  str.reverse()
      

      9. main() 方法:

      在 Java 中,需要 main 方法来使类可执行

      在 Groovy 中,不需要它。由于 Groovy 是一种脚本语言,因此每个程序都会自动有一个名为 Script 的包装类。

      10.布尔求值:

      Groovy 自动将表达式计算为布尔值。

      def str = “test”
      if(str){ println str }
      

      11. 数组声明:

      如果要在 Java 中创建字符串数组,则必须使用花括号 {}

      在 Java 中:

      String[] testArray = {"A", "B", "C"};
      

      而在 Groovy 中,可以使用方括号: [] 。在 Groovy 中:

      String[] testArray = ["A", "B", "C"]
      

      Java和Groovy的比较区别

      Java Groovy
      它是在JDK上开发并在JVM上运行的 编译为JVM字节码,兼容Java平台
      它被用作编程和面向对象的语言 它被用作编程和脚本语言
      Java 默认访问修饰符包 Groovy 默认访问修饰符 public
      在 Java 中,您需要为字段提供 getter 和 setter 方法,特别是如果遵循 Java Beans命名约定 在 Groovy 中,会为类成员自动生成 getter 和 setter
      在 Java 中,分号是强制性的 在 Groovy 中,分号是可选的
      Java中默认只导入 Java.lang.* 在Groovy中默认导入常用包
      Java 具有原始数据类型和包装类来隐式或显式执行装箱和拆箱 在 Groovy 中,一切都是对象并且仅使用对象,因此没有自动装箱或拆箱的概念
      Java 需要类内部的 main 方法来运行程序 Groovy 不需要任何 main 方法或方法的入口点来运行类或任何程序

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程