今天写了个读取类的函数的签名的脚本,供学习之用,其实最主要是想看看Groovy都给类添加了些什么函数。
代码就二十多行,从中又可以体现出Groovy代码之精炼
PrintClass.groovy:
if (args) {
def className = args[0]
def theClass = Class.forName(className)
def theMetaClass = theClass.metaClass
def printClass = { property ->
println "The $property of $className:"
if (theClass.class.metaClass.hasProperty(theClass, property))
theClass."$property".each { println it }
else if (theMetaClass.metaClass.hasProperty(theMetaClass, property))
theMetaClass."$property".each { println it }
}
if (args.size() == 1)
args = ['methods', 'metaMethods', 'constructors']
else
args = args[1..-1]
args.eachWithIndex { arg, index ->
if (index > 0)
println()
printClass(arg)
}
} else {
println 'Print out the informations of the specified class.'
println 'Usage: PrintClass class-full-name [methods] [metaMethods] [constructors]'
}
用法:
PrintClass java.lang.Integer 或者 PrintClass java.lang.Integer metaMethods 等等
其实除了函数签名,还可以显示其他东西,譬如:PrintClass java.lang.Integer declaredFields(显示所有字段)
分享到:
相关推荐
在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...
这份"Java JDK 6学习笔记——ppt简体版"提供了关于这个关键版本的详细教程,适合初学者和有一定经验的开发者来深入理解Java编程。 首先,我们要了解Java JDK是什么。Java Development Kit,简称JDK,是Oracle公司...
1. **类和接口**: Groovy可以创建Java兼容的类和接口,因此可以直接与Java代码一起工作。 2. **Java集合增强**: Groovy提供了对Java集合的增强,如列表和映射可以使用链式调用、闭包操作等。 3. **使用Java库**: ...
这份“Java JDK 6学习笔记——ppt简体版”涵盖了Java语言的核心概念、语法特性以及JDK 6的新功能,旨在帮助初学者和有经验的开发者深入理解并掌握这一版本的Java开发环境。 首先,Java JDK 6的安装与配置是学习的...
2. 创建GroovyClassLoader:使用这个类加载器可以动态加载和执行Groovy脚本。它继承自Java的ClassLoader,能解析Groovy源码并生成字节码。 3. 加载并执行Groovy脚本:通过GroovyClassLoader的`parseClass()`方法...
### Groovy轻松入门——Grails实战基础篇 #### 搭建Grails环境及创建Grails Demo程序 **Groovy**是一种面向对象的编程语言,它运行于Java平台上,能够与Java代码无缝集成。而**Grails**则是一款基于Groovy的高性能...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。
以下是对Groovy学习笔记各章节的详细解释: ### 第1章:数字和字符串 在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。...
### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...
- **Scripting API**:引入了JSR 223,支持脚本语言与Java的交互,如JavaScript、Groovy等。 - **NIO.2(New I/O 2)**:增加了对异步I/O的支持,提供FileChannel、Path和Files类,便于文件操作和流处理。 - **...
Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合...
通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个强类型、静态类型的脚本语言。Groovy结合了Java的面向对象特性和Python、Ruby的简洁语法,使得它成为Java开发者进行快速开发、自动化任务以及编写简洁代码的...
在自定义函数中,我们可以利用Groovy的面向对象特性,定义类和方法来处理明细表和主表的数据交互。 2. **数据访问**:Groovy可以方便地与数据库进行交互,通过JDBC API或者ORM框架(如Hibernate)来查询明细表和主...
这段代码创建了一个`Sql`对象,它是Groovy提供的一个便利类,用于简化JDBC操作。 2. **插入数据**(Create): 要向数据库插入数据,我们可以使用`executeUpdate`方法。例如,向名为`users`的表中插入一条记录: ...
Groovy是一种基于Java平台的动态、灵活的编程语言,它扩展了Java的语法,提供了简洁、易读的特性,使得编写脚本或者快速开发变得更加高效。这个“groovy脚本执行工具”是一个实用的工具包,专为在测试和开发过程中...
在Java生态系统中,Groovy常被用于构建脚本、自动化任务、服务器端应用以及Web框架。 "Groovy need not rails"指的是Groovy并不需要像Ruby on Rails那样的全栈框架,因为Groovy自身就提供了强大的工具和库来构建Web...
GroovyShell允许在运行时执行Groovy脚本,而GroovyClassLoader则可以动态加载和执行新的类。在Java应用中,只需几行代码,就可以实现Groovy脚本的编译和执行: ```java GroovyShell shell = new GroovyShell(); ...