- Kotlin进阶实战
- 沈哲 易庞宙编著
- 316字
- 2025-02-20 21:22:45
7.3.2 构造函数引用,获取类的构造函数
1.Java获取类的构造函数
Java在获取Class实例之后,可以获取其中的构造函数。Java获取类的构造函数对应的是java.lang.reflect.Constructor,有以下5种方式:
//获取参数列表是parameterTypes,访问 public的构造函数 public Constructor getConstructor(Class[] parameterTypes) //获取所有public构造函数 public Constructor[] getConstructors() //获取参数列表是parameterTypes,并且是类自身声明的构造函数,访问控制符包含 public、 protected和private的函数 public Constructor getDeclaredConstructor(Class[] parameterTypes) //获取类自身声明的全部构造函数,包含 public、protected和private的函数 public Constructor[] getDeclaredConstructors() //如果类声明在其他类的构造函数中,返回该类所在的构造函数,如果存在则返回,不存在则返回null public Constructor getEnclosingConstructor()
2.Kotlin获取类的构造函数
Kotlin在获取KClass实例之后,可以获取它的全部构造函数。
//类中声明的所有构造函数 public val constructors: Collection<KFunction<T>>
Kotlin通过::操作符添加类名来引用构造函数,例如:

对于含有参数的构造函数,也一样适用:
