-  
       
- All Superinterfaces:
 -  
         
Accessible,Comparable<方法>,Locatable,Mirror,TypeComponent 
public interface 方法 extends TypeComponent, Locatable, Comparable<方法>
目标VM中的静态或实例方法。 有关Field和Method镜像的一般信息,请参见TypeComponent。- 从以下版本开始:
 - 1.3
 - 另请参见:
 -  
         
ObjectReference,ReferenceType 
 
-  
        
       
-  
             
方法摘要
所有方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 List<Location>allLineLocations()返回包含此方法中每个可执行源代码行的Location对象的列表。List<Location>allLineLocations(String stratum, String sourceName)返回包含此方法中每个可执行源代码行的Location对象的列表。List<LocalVariable>arguments()返回包含声明为此方法的参数的每个LocalVariable的列表。List<String>argumentTypeNames()返回一个列表,其中包含此方法的每个形式参数类型的文本表示形式。List<Type>argumentTypes()返回一个列表,其中包含此方法的每个形式参数的类型。byte[]bytecodes()返回包含此方法的字节码的数组。booleanequals(Object obj)将指定的Object与此方法进行比较以获得相等性。inthashCode()返回此Method的哈希码值。booleanisAbstract()确定此方法是否为抽象方法。booleanisBridge()确定此方法是否为桥接方法。booleanisConstructor()确定此方法是否为构造函数。default booleanisDefault()确定此方法是否为默认方法booleanisNative()确定此方法是否为本机方法。booleanisObsolete()确定此方法是否已过时。booleanisStaticInitializer()确定此方法是否为静态初始值设定项。booleanisSynchronized()确定此方法是否已同步。booleanisVarArgs()确定此方法是否接受可变数量的参数。Locationlocation()如果存在与之关联的可执行代码,则返回此方法的Location。LocationlocationOfCodeIndex(long codeIndex)返回给定代码索引的Location。List<Location>locationsOfLine(int lineNumber)返回一个List,其中包含映射到给定行号的所有Location个对象。List<Location>locationsOfLine(String stratum, String sourceName, int lineNumber)返回包含映射到给定行号和源名称的所有Location对象的List。TypereturnType()返回此方法声明中指定的返回类型。StringreturnTypeName()返回返回类型的文本表示形式,如此方法的声明中所指定。List<LocalVariable>variables()返回包含此方法中声明的每个LocalVariable的列表。List<LocalVariable>variablesByName(String name)返回包含此方法中给定名称的每个LocalVariable的列表。-  
               
声明方法的接口 com.sun.jdi.Accessible
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers 
-  
               
声明方法的接口 java.lang.Comparable
compareTo 
-  
               
声明方法的接口 com.sun.jdi.Mirror
toString, virtualMachine 
-  
               
声明方法的接口 com.sun.jdi.TypeComponent
declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
returnTypeName
String returnTypeName()
返回返回类型的文本表示形式,如此方法的声明中所指定。即使尚未创建或加载类型,此类型名称也始终可用。
- 结果
 - 
               包含返回类型名称的 
              
String。 
 
-  
returnType
Type returnType() throws ClassNotLoadedException
返回此方法声明中指定的返回类型。注意:如果此方法的返回类型是引用类型(类,接口或数组),并且它尚未由声明类型的类加载器创建或加载 - 即
declaringType().classLoader(),则将抛出ClassNotLoadedException。 此外,引用类型可能已加载但尚未准备好,在这种情况下将返回类型但尝试对返回的类型执行某些操作(例如fields())将抛出ClassNotPreparedException。 使用ReferenceType.isPrepared()确定是否准备了引用类型。- 结果
 -  
              返回
Type这种方法。 - 异常
 -  
              
ClassNotLoadedException- 如果尚未通过适当的类加载器创建或加载类型。 - 另请参见:
 -  
              
Type,Field.type() - for usage examples 
 
-  
argumentTypeNames
List<String> argumentTypeNames()
返回一个列表,其中包含此方法的每个形式参数类型的文本表示形式。即使尚未创建或加载类型,此列表也始终可用。
 
-  
argumentTypes
List<Type> argumentTypes() throws ClassNotLoadedException
返回一个列表,其中包含此方法的每个形式参数的类型。注意:如果有任何类型为引用类型(类,接口或数组)的参数,并且它尚未由声明类型的类加载器创建或加载 - 即
declaringType().classLoader(),则将抛出ClassNotLoadedException。 此外,引用类型可能已加载但尚未准备好,在这种情况下将返回列表但尝试对该类型执行某些操作(例如fields())将抛出ClassNotPreparedException。 使用ReferenceType.isPrepared()确定是否准备了引用类型。- 结果
 -  
              返回
List的Type,该方法的每个参数都有一个List元素。 每个元素表示在编译时指定的形式参数的类型。 如果使用省略号声明形式参数,则它将在省略号之前表示为类型的数组。 - 异常
 -  
              
ClassNotLoadedException- 如果尚未通过适当的类加载器加载类型。 - 另请参见:
 -  
              
Type 
 
-  
isAbstract
boolean isAbstract()
确定此方法是否为抽象方法。- 结果
 -  
              
true如果方法被声明为abstract; 否则为false。 
 
-  
isDefault
default boolean isDefault()
确定此方法是否为默认方法- 结果
 -  
              
true如果该方法被声明为默认值; 否则为false。 - 从以下版本开始:
 - 1.8
 
 
-  
isSynchronized
boolean isSynchronized()
确定此方法是否已同步。- 结果
 -  
              
true如果声明方法同步; 否则为false。 
 
-  
isNative
boolean isNative()
确定此方法是否为本机方法。- 结果
 -  
              
true如果该方法被声明为native; 否则为false。 
 
-  
isVarArgs
boolean isVarArgs()
确定此方法是否接受可变数量的参数。- 结果
 -  
              
true如果方法接受可变数量的参数,否则为false。 - 从以下版本开始:
 - 1.5
 
 
-  
isBridge
boolean isBridge()
确定此方法是否为桥接方法。 桥接方法在The Java™ Language Specification中定义。- 结果
 -  
              
true如果方法是桥接方法,false。 - 从以下版本开始:
 - 1.5
 
 
-  
isConstructor
boolean isConstructor()
确定此方法是否为构造函数。- 结果
 -  
              
true如果方法是构造函数; 否则为false。 
 
-  
isStaticInitializer
boolean isStaticInitializer()
确定此方法是否为静态初始值设定项。- 结果
 -  
              
true如果该方法是静态初始化器; 否则为false。 
 
-  
isObsolete
boolean isObsolete()
确定此方法是否已过时。- 结果
 -  
              
true如果此方法已被VirtualMachine.redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)操作废弃。 - 从以下版本开始:
 - 1.4
 
 
-  
allLineLocations
List<Location> allLineLocations() throws AbsentInformationException
返回包含此方法中每个可执行源代码行的Location对象的列表。此方法相当于
allLineLocations(vm.getDefaultStratum(),null)- 有关详细信息,请参阅allLineLocations(String,String)。- 结果
 -  
              所有源行
Location对象的列表。 - 异常
 -  
              
AbsentInformationException- 如果此(非本机,非抽象)方法没有行号信息。 
 
-  
allLineLocations
List<Location> allLineLocations(String stratum, String sourceName) throws AbsentInformationException
返回包含此方法中每个可执行源代码行的Location对象的列表。每个位置将源行映射到一系列代码索引。 范围的开始可以通过
Location.codeIndex()确定。 返回的列表按代码索引排序(从低到高)。如果编译器和/或VM已将该行映射到两个或更多个不相交的代码索引范围,则返回的列表可包含特定行号的多个位置。
如果方法是本机方法或抽象方法,则返回空列表。
返回列表用于指定的层 (有关层的描述,请参阅
Location)。- 参数
 -  
              
stratum-该层来检索或信息null为ReferenceType.defaultStratum() -  
              
sourceName- 仅返回此源文件或null中的位置以返回位置。 - 结果
 -  
              所有源行
Location对象的列表。 - 异常
 -  
              
AbsentInformationException- 如果此(非本机,非抽象)方法没有行号信息。 或者,如果SOURCENAME是非null和源名信息不存在。 - 从以下版本开始:
 - 1.4
 
 
-  
locationsOfLine
List<Location> locationsOfLine(int lineNumber) throws AbsentInformationException
返回一个List,其中包含映射到给定行号的所有Location对象。此方法相当于
locationsOfLine(vm.getDefaultStratum(), null, lineNumber)- 有关详细信息,请参阅locationsOfLine(java.lang.String,java.lang.String,int)。- 参数
 -  
              
lineNumber- 行号 - 结果
 -  
              映射到给定行号的
Location对象的列表。 - 异常
 -  
              
AbsentInformationException- 如果此方法没有行号信息。 
 
-  
locationsOfLine
List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber) throws AbsentInformationException
返回一个List,其中包含映射到给定行号和源名称的所有Location对象。返回包含映射到给定行的每个
Location的列表。 返回的列表将包含编译器和/或VM已分配给给定行的每个不相交的代码索引范围的位置。 每个返回的位置对应于此范围的开头。 如果指定的行号没有可执行代码,则返回空列表; 特别是,native和abstract方法总是返回一个空列表。返回列表用于指定的层 (有关层的描述,请参阅
Location)。- 参数
 -  
              
stratum- 用于比较行号和源名称的层,或null用于使用默认层 -  
              
sourceName- 包含行号的源名称,或者为与所有源名称匹配的null -  
              
lineNumber- 行号 - 结果
 -  
              映射到给定行号的
Location对象的列表。 - 异常
 -  
              
AbsentInformationException- 如果此方法没有行号信息。 或者,如果SOURCENAME是非null和源名信息不存在。 - 从以下版本开始:
 - 1.4
 
 
-  
locationOfCodeIndex
Location locationOfCodeIndex(long codeIndex)
返回给定代码索引的Location。- 结果
 -  
              
Location对应于给定的代码索引;如果指定的代码索引不是此方法的有效代码索引,则返回null(本机和抽象方法将始终返回null)。 
 
-  
variables
List<LocalVariable> variables() throws AbsentInformationException
返回包含此方法中声明的每个LocalVariable的列表。 该列表包括在方法中的任何范围内声明的任何变量。 它可能包含在不相交的范围内声明的多个同名变量。 参数被视为局部变量,并将出现在返回的列表中。 如果局部变量信息不可用,则可以使用方法StackFrame.getArgumentValues()获取方法调用的实际参数值- 结果
 -  
              
LocalVariable对象的列表,它映射目标VM中此方法中声明的局部变量。 如果没有局部变量,则返回零长度列表。 - 异常
 -  
              
AbsentInformationException- 如果此方法没有可变信息。 通常,本地变量信息不适用于本机或抽象方法(即,它们的参数名称信息不可用),因此它们将抛出此异常。 
 
-  
variablesByName
List<LocalVariable> variablesByName(String name) throws AbsentInformationException
返回包含此方法中给定名称的每个LocalVariable的列表。 如果在方法中的不相交范围中使用相同的变量名,则可以返回多个变量。- 结果
 -  
              给定名称的
LocalVariable对象列表。 如果没有匹配的局部变量,则返回零长度列表。 - 异常
 -  
              
AbsentInformationException- 如果此方法没有可变信息。 通常,本地变量信息不适用于本机或抽象方法(即,它们的参数名称信息不可用),因此它们将抛出此异常。 
 
-  
arguments
List<LocalVariable> arguments() throws AbsentInformationException
返回包含声明为此方法的参数的每个LocalVariable的列表。 如果局部变量信息不可用,则可以使用方法StackFrame.getArgumentValues()获取方法调用的实际参数值- 结果
 -  
              
LocalVariable参数列表。 如果没有参数,则返回零长度列表。 - 异常
 -  
              
AbsentInformationException- 如果此方法没有可变信息。 通常,本地变量信息不适用于本机或抽象方法(即,它们的参数名称信息不可用),因此它们将抛出此异常。 
 
-  
bytecodes
byte[] bytecodes()
返回包含此方法的字节码的数组。并非所有目标虚拟机都支持此操作。 使用
VirtualMachine.canGetBytecodes()确定是否支持该操作。- 结果
 - 字节码数组; 抽象和本机方法将返回零长度数组。
 - 异常
 -  
              
UnsupportedOperationException- 如果目标虚拟机不支持字节码的检索。 
 
-  
equals
boolean equals(Object obj)
将指定的Object与此方法进行比较以获得相等性。- 重写:
 -  
              
equals在类Object - 参数
 -  
              
obj- 要与之比较的引用对象。 - 结果
 - 如果Object是一个方法,并且两个镜像相同的方法(在同一个类或接口中,在同一个VM中声明),则返回true。
 - 另请参见:
 -  
              
Object.hashCode(),HashMap 
 
-  
hashCode
int hashCode()
返回此Method的哈希码值。- 重写:
 -  
              
hashCode在类Object - 结果
 - 整数哈希码。
 - 另请参见:
 -  
              
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object) 
 
 -  
 
 -