Java:实例方法和实例字段
在一个实例方法中,一个Java对象作为方法调用的第一个参数被传递给该方法。这类Java对象通常可以使用扩展函数(如构造器调用)或样式表参数/变量来创建。以下是一个XSLT例子:
<xsl:stylesheet version="1.0" exclude-result-prefixes="date"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="java:java.util.Date"
xmlns:jlang="java:java.lang">
<xsl:param name="CurrentDate" select="date:new()"/>
<xsl:template match="/">
<enrollment institution-id="Altova School"
date="{date:toString(\$CurrentDate)}"
type="{jlang:Object.toString(jlang:Object.getClass( date:new() ))}">
</enrollment>
</xsl:template>
</xsl:stylesheet>
在上例中,enrollment/@type节点的值是按以下步骤创建的:
1.用java.util.Date类的构造器(使用date:new()构造器)创建一个对象。
2.该对象将作为jlang.Object.getClass方法的参数。
3.getClass方法获取的对象将作为jlang.Object.toString方法的参数。
结果(@type的值)将是一个字符串,具有以下值:java.util.Date。
实例字段与实例方法在理论上是不同的,它本身不是一个可以作为参数传递给实例字段的Java对象。相反,参数或变量是可以作为参数传递的。然而,参数/变量本身可能包含由Java对象返回的值。例如,CurrentDate参数采用由java.util.Date类的构造器返回的值。然后,该值将作为参数传递给实例方法date:toString以获得/enrollment/@date的值。