首页编程java编程java的invoke是什么意思 java 中 invoke()的作用是什么

java的invoke是什么意思 java 中 invoke()的作用是什么

编程之家2023-10-1491次浏览

其实java的invoke是什么意思的问题并不复杂,但是又很多的朋友都不太了解java 中 invoke()的作用是什么,因此呢,今天小编就来为大家分享java的invoke是什么意思的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

java的invoke是什么意思 java 中 invoke()的作用是什么

java 中 invoke()的作用是什么

invoke(调用)就是调用Method类代表的方法。可以实现动态调用,例如可以动态的传人参数,可以把方法参数化。

可以把方法参数化invoke(class, method),比如Test类里有一系列名字相似的方法setValue1、setValue2等等,可以把方法名存进数组v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue。

此外,invoke()对带有指定参数的指定对象调用,个别参数被自动解包,与基本形参相匹配,基本参数和引用参数都随需服从方法调用转换。如下

java的invoke是什么意思 java 中 invoke()的作用是什么

public Object invoke(Object obj,Object... args)

throws IllegalAccessException,

IllegalArgumentException,

java的invoke是什么意思 java 中 invoke()的作用是什么

InvocationTargetException

如果底层方法是静态的,那么可以忽略指定的obj参数。该参数可以为 null。

如果底层方法所需的形参数为 0,则所提供的args数组长度可以为 0或 null。

如果底层方法是实例方法,则使用动态方法查找来调用它,这一点记录在 Java Language Specification, Second Edition的第 15.12.4.4节中;在发生基于目标对象的运行时类型的重写时更应该这样做。

如果底层方法是静态的,并且尚未初始化声明此方法的类,则会将其初始化。

如果方法正常完成,则将该方法返回的值返回给调用者;如果该值为基本类型,则首先适当地将其包装在对象中。但是,如果该值的类型为一组基本类型,则数组元素不被包装在对象中;换句话说,将返回基本类型的数组。如果底层方法返回类型为 void,则该调用返回 null。

扩展资料:

语言特点

1.简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。

2.分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

3.编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

参考资料来源:oracle官网——Class Method(invoke()见底部)

java invoke 以及 webservice详解,求助

1、invoke()一般是java反射里的方法。

1、给外界提供的都是接口

定义一个接口,然后给这个接口定义一个实现类。

2、在src目录下新建一个META-INF文件夹,在这个文件夹下新建一个xfire文件夹,在这个文件夹下再新建一个service.xml文件。

文件内容配置例子:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">

<service>

<name>CalculatorService</name><!--接口的名字-->

<serviceClass>com.hhaip.service.CalculatorService</serviceClass><!--定义的那个接口-->

<implementationClass>

com.hhaip.service.impl.CalculatorServiceImpl<!--接口的实现-->

</implementationClass>

</service>

</beans>

3、在web.xml中将服务公布出去

<!--将服务公布出去-->

<servlet>

<servlet-name>XFireServlet</servlet-name>

<display-name>XFire Servlet</display-name>

<servlet-class>

org.codehaus.xfire.transport.http.XFireConfigurableServlet

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/servlet/XFireServlet/*</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

---------------------------------------------以上就是服务端信息-------------------------------------------------

---------------------------------------------以下就是客户端信息-------------------------------------------------

1、客户端使用Ant自动建站工具帮我生成好访问Web接口所需要的信息。

2、Ant自动生成好客户端代码后,只需要新建一个测试类测试。

Ant配置例子:

build.xml

<?xml version="1.0" encoding="UTF-8"?>

<project name="WebService" basedir="." default="webservice">

<property file="build.properties"/>

<path id="project-classpath">

<fileset dir="${lib.dir}">

<include name="**/*.jar"/>

</fileset>

</path>

<target name="webservice">

<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"

classpatrel="external nofollow" href="project-classpath"/>

<wsgen outputDirectory="${scr.dir}" wsdl="${wsdl.dir}" package="com.hhaip.client" overwrite="true"/>

</target>

</project>

build.properties

scr.dir=${basedir}/src

lib.dir=E:/jar/xfire-1.2.6/lib

wsdl.dir=http://localhost:8888/myxfire/services/CalculatorService?wsdl

--> wsdl.dir这个路径配置最重要。

测试类代码:

public class TestService{

public static void main(String[] args){

CalculatorServiceClient client= new CalculatorServiceClient();

//CalculatorServiceClient是Ant生成的客户端代码

CalculatorServicePortType portType= client.getCalculatorServiceHttpPort();

//获取接口

int addResult= portType.add(1, 3);

System.out.println(addResult);

}

java中invoke()的作用是什么

用来执行一个方法,是反射中知识。

就是调用类中的方法,最简单的用法是可以把方法参数化invoke(class, method)。

比如你Test类里有一系列名字相似的方法setValue1、setValue2等等。

可以把方法名存进数组v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

java中的反射,invoke方法详解

根据万物皆对象,所以类也是对象,通过反射得到描述类的对象,也就是Class这个类。有三种方法得到:

类名.class;

实例.getclass;

Class.forName(全类名);

得到描述类的类后,就可以通过类里面的方法,字段和注解。

invoke是反射调用方法,方法里面有两个参数,第一个参数是调用这个方法的实例,第二个就是那个方法的参数类表

关于java的invoke是什么意思的内容到此结束,希望对大家有所帮助。

java8 是指什么区别?java7和java8有什么区别百科知识 百科知识竞赛题库1000题