Module  java.desktop
软件包  java.beans

Class Statement

  • 已知直接子类:
    Expression


    public class Statement
    extends Object
    一个Statement对象表示一个原语言,其中单个方法应用于目标和一组参数 - 如"a.setFoo(b)" 请注意,此示例使用名称来表示目标及其参数,语句对象不需要名称空间,并且使用值本身构造。 语句对象将named方法与其环境相关联,作为一组简单的值:目标和参数值数组。
    从以下版本开始:
    1.4
    • 构造方法详细信息

      • Statement

        @ConstructorProperties({"target","methodName","arguments"})
        public Statement​(Object target,
                         String methodName,
                         Object[] arguments)
        为指定的目标对象创建一个新的Statement对象,以调用由名称和参数数组指定的方法。

        targetmethodName值不应该是null 否则尝试执行此Expression将导致一个NullPointerException 如果arguments值为null ,则使用空数组作为arguments属性的值。

        参数
        target - 此语句的目标对象
        methodName - 在指定目标上调用的方法的名称
        arguments - 调用指定方法的参数数组
    • 方法详细信息

      • getTarget

        public Object getTarget​()
        返回此语句的目标对象。 如果此方法返回null ,则execute()方法将抛出一个NullPointerException
        结果
        此语句的目标对象
      • getMethodName

        public String getMethodName​()
        返回要调用的方法的名称。 如果此方法返回null ,则execute()方法将抛出一个NullPointerException
        结果
        方法的名称
      • getArguments

        public Object[] getArguments​()
        返回要调用的方法的参数。 参数的数量及其类型必须与调用的方法相匹配。 null可以用作空数组的同义词。
        结果
        参数数组
      • execute

        public void execute​()
                     throws 异常
        execute方法查找名称与methodName属性相同的方法,并调用目标方法。 当目标的类定义了具有给定名称的许多方法时,实现应使用Java语言规范(15.11)中指定的算法选择最具体的方法。 目标和参数的动态类用于代替编译时类型信息,像方法类本身一样,原始值与其关联的包装器类之间的转换在内部进行处理。

        以下方法类型被处理为特殊情况:

        • 可以通过使用类对象作为目标来调用静态方法。
        • 保留方法名称“new”可以用于调用类的构造函数,就像所有类定义静态“新”方法一样。 构造函数调用通常被认为是Expression而不是Statement因为它们返回一个值。
        • List接口中定义的方法名称“get”和“set”也可以应用于数组实例,映射到Array类中同名的静态方法。
        异常
        NullPointerException - 如果 targetmethodName属性的值为 null
        NoSuchMethodException - 如果找不到匹配的方法
        SecurityException - 如果安全管理器存在并且拒绝方法调用
        异常 - 被调用的方法抛出的
        另请参见:
        方法
      • toString

        public String toString​()
        使用Java风格的语法打印此语句的值。
        重写:
        toStringObject
        结果
        对象的字符串表示形式。