首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java类中的Groovy特性

java类中的Groovy特性
EN

Stack Overflow用户
提问于 2016-01-20 23:37:02
回答 2查看 1.2K关注 0票数 2

我正在开发一个现有的java代码库,但说服团队使用交叉编译,这样就可以在groovy中完成新的开发,同时仍然使用旧的代码基。这两个世界的优点,低风险,很多好处,等等。

我正试图解决一个问题,Groovy的特性特性很好地解决了这个问题,但它必须处理现有的java类或仍然想用java编写的开发人员的新类。

在java中执行class duck implements FlyingAbility {会引发一个有关实现的错误,IntelliJ的automatix将实现java类中特征中的所有方法,就好像它只是一个接口一样。

是否有一种方法可以在java类中使用特性,类似于它们在groovy类中的工作方式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-21 00:34:14

您不能在Java类中使用特性。Groovy特性是作为应用到的类的编译时转换实现的,Java类不会通过Groovy编译器传递。

也就是说,将Java代码转换为Groovy通常非常简单和将@CompileStatic添加到类中通常会生成类似于等效Java的代码,尽管(目前)使用的.class文件要大一些。

票数 4
EN

Stack Overflow用户

发布于 2019-10-02 06:57:45

如果您只需要使用一个特性,就可以在Groovy中创建一个代理类:

GroovyTrait.groovy

代码语言:javascript
复制
trait GroovyTrait {
}

GroovyClass.groovy

代码语言:javascript
复制
class GroovyClass implements GroovyTrait {
}

JavaClass.java

代码语言:javascript
复制
class JavaClass extends GroovyClass {
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34912756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档