class.html

来自「j2se5-api-zh,java文档的中文版本」· HTML 代码 · 共 1,219 行 · 第 1/5 页

HTML
1,219
字号
<DD><CODE><A HREF="LinkageError.html" title="java.lang 中的类">LinkageError</A></CODE> - 如果链接失败<DD><CODE><A HREF="ExceptionInInitializerError.html" title="java.lang 中的类">ExceptionInInitializerError</A></CODE> - 如果该方法激发的初始化失败<DD><CODE><A HREF="ClassNotFoundException.html" title="java.lang 中的类">ClassNotFoundException</A></CODE> - 如果类无法用指定的类加载器定位<DT><B>从以下版本开始:</B></DT>  <DD>1.2</DD><DT><B>另请参见:</B><DD><A HREF="Class.html#forName(java.lang.String)"><CODE>forName(String)</CODE></A>, <A HREF="ClassLoader.html" title="java.lang 中的类"><CODE>ClassLoader</CODE></A></DL></DD></DL><HR><A NAME="newInstance()"><!-- --></A><H3>newInstance</H3><PRE>public <A HREF="Class.html" title="Class 中的类型参数">T</A> <B>newInstance</B>()              throws <A HREF="InstantiationException.html" title="java.lang 中的类">InstantiationException</A>,                     <A HREF="IllegalAccessException.html" title="java.lang 中的类">IllegalAccessException</A></PRE><DL><DD>创建此 <tt>Class</tt> 对象所表示的类的一个新实例。如同用一个带有一个空参数列表的 <code>new</code> 表达式实例化该类。如果该类尚未初始化,则初始化之。<p>注意,此方法传播 nullary 构造方法所抛出的任何异常,包括已检查的异常。使用此方法可以有效地绕过编译时的异常检查,而在其他情况下编译器都会执行该检查。 <A HREF="reflect/Constructor.html#newInstance(java.lang.Object...)"><CODE>Constructor.newInstance</CODE></A> 方法将该构造方法所抛出的任何异常包装在一个(已检查的)<A HREF="reflect/InvocationTargetException.html" title="java.lang.reflect 中的类"><CODE>InvocationTargetException</CODE></A> 中,从而避免了这一问题。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>此对象所表示的类的一个新分配的实例。<DT><B>抛出:</B><DD><CODE><A HREF="IllegalAccessException.html" title="java.lang 中的类">IllegalAccessException</A></CODE> - 如果此类或其 nullary 构造方法是不可访问的。<DD><CODE><A HREF="InstantiationException.html" title="java.lang 中的类">InstantiationException</A></CODE> - 如果此 <code>Class</code> 表示一个抽象类、接口、数组类、基本类型或 void;             或者该类没有 nullary 构造方法;             或者由于某种其他原因导致实例化过程失败。<DD><CODE><A HREF="ExceptionInInitializerError.html" title="java.lang 中的类">ExceptionInInitializerError</A></CODE> - 如果该方法引发的初始化失败。<DD><CODE><A HREF="SecurityException.html" title="java.lang 中的类">SecurityException</A></CODE> - 如果存在安全管理器 <i>s</i>,并满足下列任一条件:             <ul>             <li> 调用 <tt><A HREF="SecurityManager.html#checkMemberAccess(java.lang.Class, int)"><CODE>s.checkMemberAccess(this, Member.PUBLIC)</CODE></A></tt> 拒绝创建该类的新实例             <li> 调用方的类加载器不同于也不是该类的类加载器的一个祖先,并且对 <tt><A HREF="SecurityManager.html#checkPackageAccess(java.lang.String)"><CODE>s.checkPackageAccess()</CODE></A></tt> 的调用拒绝访问该类的包             </ul></DL></DD></DL><HR><A NAME="isInstance(java.lang.Object)"><!-- --></A><H3>isInstance</H3><PRE>public boolean <B>isInstance</B>(<A HREF="Object.html" title="java.lang 中的类">Object</A>&nbsp;obj)</PRE><DL><DD>判定指定的 <code>Object</code> 是否与此 <code>Class</code> 所表示的对象赋值兼容。此方法是 Java 语言 <code>instanceof</code> 运算符的动态等效方法。如果指定的 <code>Object</code> 参数非空,且能够在不引发 <code>ClassCastException</code> 的情况下被强制转换成该 <code>Class</code> 对象所表示的引用类型,则返回 true,否则返回 <code>false</code>。<p> 特别地,当该 <code>Class</code> 对象表示一个已声明的类时,若指定的 <code>Object</code> 参数是该类(或其任一子类)的一个实例则返回 <code>true</code>,否则返回 <code>false</code>。如果此 <code>Class</code> 对象表示一个数组类,且通过身份转换或扩展引用转换,指定的 <code>Object</code> 参数能转换为一个数组类的对象,则返回 <code>true</code>,否则返回 <code>false</code>。如果此 <code>Class</code> 对象表示一个接口,且指定 <code>Object</code> 参数的类或任一超类实现了此接口,则此方法返回 <code>true</code>,否则返回 <code>false</code>。如果该 <code>Class</code> 对象表示一个基本类型,则此方法返回 <code>false</code>。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>obj</CODE> - 要检查的对象<DT><B>返回:</B><DD>如果 <code>obj</code> 是此类的实例,则返回 true<DT><B>从以下版本开始:</B></DT>  <DD>JDK1.1</DD></DL></DD></DL><HR><A NAME="isAssignableFrom(java.lang.Class)"><!-- --></A><H3>isAssignableFrom</H3><PRE>public boolean <B>isAssignableFrom</B>(<A HREF="Class.html" title="java.lang 中的类">Class</A>&lt;?&gt;&nbsp;cls)</PRE><DL><DD>判定此 <code>Class</code> 对象所表示的类或接口与指定的 <code>Class</code> 参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 <code>true</code>,否则返回 <code>false</code>。如果该 <code>Class</code> 表示一个基本类型,且指定的 <code>Class</code> 参数正是该 <code>Class</code> 对象,则该方法返回 <code>true</code>,否则返回 <code>false</code>。<p> 特别地,通过身份转换或扩展引用转换,该方法能测试指定 <code>Class</code> 参数所表示的类型能否转换为此 <code>Class</code> 对象所表示的类型。有关详细信息,请参阅《<em>Java Language Specification</em>》的第 5.1.1 和 5.1.4 节。<P><DD><DL></DL></DD><DD><DL><DT><B>参数:</B><DD><CODE>cls</CODE> - 要检查的 <code>Class</code> 对象<DT><B>返回:</B><DD>表明 <code>cls</code> 类型的对象能否赋予此类对象的 <code>boolean</code> 值<DT><B>抛出:</B><DD><CODE><A HREF="NullPointerException.html" title="java.lang 中的类">NullPointerException</A></CODE> - 如果指定的 Class 参数为 null。<DT><B>从以下版本开始:</B></DT>  <DD>JDK1.1</DD></DL></DD></DL><HR><A NAME="isInterface()"><!-- --></A><H3>isInterface</H3><PRE>public boolean <B>isInterface</B>()</PRE><DL><DD>判定指定的 <code>Class</code> 对象是否表示一个接口。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>如果此对象表示一个接口,则返回 <code>true</code>,否则返回 <code>false</code>。</DL></DD></DL><HR><A NAME="isArray()"><!-- --></A><H3>isArray</H3><PRE>public boolean <B>isArray</B>()</PRE><DL><DD>判定此 <code>Class</code> 对象是否表示一个数组类。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>如果此对象表示一个数组类,则返回 <code>true</code>,否则返回 <code>false</code>。<DT><B>从以下版本开始:</B></DT>  <DD>JDK1.1</DD></DL></DD></DL><HR><A NAME="isPrimitive()"><!-- --></A><H3>isPrimitive</H3><PRE>public boolean <B>isPrimitive</B>()</PRE><DL><DD>判定指定的 <code>Class</code> 对象是否表示一个基本类型。<p> 有九种预定义的 <code>Class</code> 对象,表示八个基本类型和 void。这些类对象由 Java 虚拟机创建,与其表示的基本类型同名,即 <code>boolean</code>、<code>byte</code>、<code>char</code>、<code>short</code>、<code>int</code>、<code>long</code>、<code>float</code> 和 <code>double</code>。<p> 这些对象仅能通过下列声明为 public static final 的变量访问,也是使此方法返回 <code>true</code> 的仅有的几个 <code>Class</code> 对象。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>当且仅当该类表示一个基本类型时,才返回 true<DT><B>从以下版本开始:</B></DT>  <DD>JDK1.1</DD><DT><B>另请参见:</B><DD><A HREF="Boolean.html#TYPE"><CODE>Boolean.TYPE</CODE></A>, <A HREF="Character.html#TYPE"><CODE>Character.TYPE</CODE></A>, <A HREF="Byte.html#TYPE"><CODE>Byte.TYPE</CODE></A>, <A HREF="Short.html#TYPE"><CODE>Short.TYPE</CODE></A>, <A HREF="Integer.html#TYPE"><CODE>Integer.TYPE</CODE></A>, <A HREF="Long.html#TYPE"><CODE>Long.TYPE</CODE></A>, <A HREF="Float.html#TYPE"><CODE>Float.TYPE</CODE></A>, <A HREF="Double.html#TYPE"><CODE>Double.TYPE</CODE></A>, <A HREF="Void.html#TYPE"><CODE>Void.TYPE</CODE></A></DL></DD></DL><HR><A NAME="isAnnotation()"><!-- --></A><H3>isAnnotation</H3><PRE>public boolean <B>isAnnotation</B>()</PRE><DL><DD>如果此 <tt>Class</tt> 对象表示一个注释类型则返回 true。注意,如果此方法返回 true,则 <A HREF="Class.html#isInterface()"><CODE>isInterface()</CODE></A> 也返回 true,因为所有的注释类型同时也是接口。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>如果此类对象表示一个注释类型,则返回 <tt>true</tt>,否则返回 <tt>false</tt><DT><B>从以下版本开始:</B></DT>  <DD>1.5</DD></DL></DD></DL><HR><A NAME="isSynthetic()"><!-- --></A><H3>isSynthetic</H3><PRE>public boolean <B>isSynthetic</B>()</PRE><DL><DD>如果此类是复合类,则返回 <tt>true</tt>,否则 <tt>false</tt>。<P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>当且仅当该类为复合类时才返回 <tt>true</tt>,Java 语言规范对此作了详细说明。<DT><B>从以下版本开始:</B></DT>  <DD>1.5</DD></DL></DD></DL><HR><A NAME="getName()"><!-- --></A><H3>getName</H3><PRE>public <A HREF="String.html" title="java.lang 中的类">String</A> <B>getName</B>()</PRE><DL><DD>以 <tt>String</tt> 的形式返回此 <tt>Class</tt> 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。  <p> 如果此类对象表示的是非数组类型的引用类型,则返回该类的二进制名称,《Java Language Specification, Second Edition》对此作了详细说明。 <p> 如果此类对象表示一个基本类型或 void,则返回的名字是一个与该基本类型或 void 所对应的 Java 语言关键字相同的 <tt>String</tt>。  <p> 如果此类对象表示一个数组类,则名字的内部形式为:表示该数组嵌套深度的一个或多个 '<tt>[</tt>' 字符加元素类型名。元素类型名的编码如下: <blockquote><table summary="Element types and encodings"> <tr><th> 元素类型<th> 编码 <tr><td> boolean      <td align=center> Z <tr><td> byte         <td align=center> B <tr><td> char         <td align=center> C <tr><td> 类或接口  <td align=center> L<i>classname;</i> <tr><td> double       <td align=center> D <tr><td> float        <td align=center> F <tr><td> int          <td align=center> I <tr><td> long         <td align=center> J <tr><td> short        <td align=center> S </table></blockquote><p> 类或接口名 <i>classname</i> 是上面指定类的二进制名称。<p> 示例: <blockquote><pre> String.class.getName()     returns "java.lang.String" byte.class.getName()     returns "byte" (new Object[3]).getClass().getName()     returns "[Ljava.lang.Object;" (new int[3][4][5][6][7][8][9]).getClass().getName()     returns "[[[[[[[I" </pre></blockquote><P><DD><DL></DL></DD><DD><DL><DT><B>返回:</B><DD>该对象所表示的类或接口名。</DL></DD></DL>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?