方法类| Java 中的 getParameterCount()方法
原文:https://www . geesforgeks . org/method-class-getparametercount-method-in-Java/
方法类的 方法返回在方法对象上声明的参数数量。
语法:
public int getParameterCount()
返回值:此方法返回在此方法对象上定义的形式参数的数量。
下面的程序说明了方法类的 getParameterCount()方法:
示例 1: 以下程序返回作为输入的特定方法的参数编号。
// Program Demonstrate how to apply getParameterCount()
// method of Method Class.
import java.lang.reflect.Method;
public class GFG {
// Main method
public static void main(String[] args)
{
try {
// create class object
Class classobj = GFG.class;
// get list of methods
Method[] methods = classobj.getMethods();
// get no of parameters for method setManyValues
int noOfParameters = methods[0].getParameterCount();
System.out.println("Method Name: "
+ methods[0].getName());
// print no of parameters
System.out.println("No of parameters:" + noOfParameters);
}
catch (Exception e) {
e.printStackTrace();
}
}
// method name setManyValues
// No of parameters is one for this method
public void setManyValues(String parameter1)
{
System.out.println("setManyValues");
}
}
输出:
Method Name: setManyValues
No of parameters:1
示例 2: 下面的程序返回一个类中定义的所有方法的参数数量。
// Program Demonstrate how to apply getParameterCount() method
// of Method Class.
import java.lang.reflect.Method;
public class GFG {
// Main method
public static void main(String[] args)
{
try {
// create class object
Class classobj = DemoClass.class;
// get list of methods
Method[] methods = classobj.getMethods();
// get no of parameters for each
// method in list of methods
for (Method method : methods) {
// print name of method
System.out.print("Method Name is "
+ method.getName());
// get no of parameters for each method
int noOfParameters = method.getParameterCount();
// print no of parameters
System.out.println(" and No of parameters = "
+ noOfParameters);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
// Demo class to apply getParameterCount() method
class DemoClass {
// method name DemoMethod1
// No of parameters is 1 for this method
public void DemoMethod1(String parameter1)
{
System.out.println("DemoMethod1");
}
// method name DemoMethod2
// No of parameters is 2 for this method
public void DemoMethod2(String parameter1,
String parameter2)
{
System.out.println("DemoMethod2");
}
// method name DemoMethod2
// No of parameters is Zero for this method
public void DemoMethod3()
{
System.out.println("DemoMethod3");
}
}
输出:
Method Name is DemoMethod1 and No of parameters = 1
Method Name is DemoMethod2 and No of parameters = 2
Method Name is DemoMethod3 and No of parameters = 0
Method Name is wait and No of parameters = 2
Method Name is wait and No of parameters = 1
Method Name is wait and No of parameters = 0
Method Name is equals and No of parameters = 1
Method Name is toString and No of parameters = 0
Method Name is hashCode and No of parameters = 0
Method Name is getClass and No of parameters = 0
Method Name is notify and No of parameters = 0
Method Name is notifyAll and No of parameters = 0
解释:这个程序的输出还显示了方法对象的结果,而不是类对象中定义的方法,如 wait、equals、toString、hashCode、getClass、notifyAll。这些方法是通过类对象从 java.lang lang 包的超类名 Object 继承而来的。
参考:https://docs . Oracle . com/javase/8/docs/API/Java/lang/reflect/method . html # getParameterCount–
版权属于:月萌API www.moonapi.com,转载请注明出处