Grails[Groovy],如何获得一个类拥有的所有方法的列表,而不使用继承的方法?

Grails[Groovy],如何获得一个类拥有的所有方法的列表,而不使用继承的方法?,grails,groovy,Grails,Groovy,我使用它来收集类的所有方法: SomeClass sc = new SomeClass() List<String> declaringClassOnlyMethods = sc.metaClass.methods.findAll { MetaMethod method -> if(method.declaringClass.name == sc.class.name) { method.name } } grailsApplication.g

我使用它来收集类的所有方法:

SomeClass sc = new SomeClass()
List<String> declaringClassOnlyMethods = sc.metaClass.methods.findAll { MetaMethod method ->
    if(method.declaringClass.name == sc.class.name) {
        method.name
    }
}
grailsApplication.getMainContext().getBean(“className”).metaClass.methods*.name

SomeClass sc = new SomeClass()
List<String> declaringClassOnlyMethods = sc.metaClass.methods.findAll { MetaMethod method ->
    if(method.declaringClass.name == sc.class.name) {
        method.name
    }
}

但这将返回所有方法,包括继承的方法,如何仅筛选该类所拥有的方法?

这将为您提供筛选的方法名称列表,以仅包括仅属于声明类的方法(
SomeClass
,在本例中):

SomeClass sc = new SomeClass()
List<String> declaringClassOnlyMethods = sc.metaClass.methods.findAll { MetaMethod method ->
    if(method.declaringClass.name == sc.class.name) {
        method.name
    }
}
SomeClass sc=newsomeclass()
List declaringClassOnlyMethods=sc.metaClass.methods.findAll{MetaMethod->
if(method.declaringClass.name==sc.class.name){
方法名称
}
}