- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
Java 类 getDeclaredFields() 方法
描述
Java 类 getDeclaredFields() 方法返回一个 Field 对象数组,包括公有、受保护、默认(包)访问和私有字段,但不包括继承的字段。如果类或接口没有声明任何字段,或者此 Class 对象表示基本类型、数组类或 void,则该方法返回长度为 0 的数组。
声明
以下是 java.lang.Class.getDeclaredFields() 方法的声明
public Field[] getDeclaredFields() throws SecurityException
参数
无
返回值
此方法返回一个 Field 对象数组,表示该类的所有声明字段。
异常
SecurityException − 如果存在安全管理器 s。
获取类声明字段的示例
以下示例演示了 java.lang.Class.getDeclaredFields() 方法的用法。在此程序中,我们创建了一个 ClassDemo 的实例,然后使用 getClass() 方法获取实例的类。使用 getDeclaredFields(),我们检索了所有声明的字段并打印它们。
package com.tutorialspoint;
import java.lang.reflect.Field;
public class ClassDemo {
public static void main(String[] args) {
try {
ClassDemo c = new ClassDemo();
Class cls = c.getClass();
// returns the array of Field objects
Field[] fields = cls.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("Field = " + fields[i].toString());
}
} catch(Exception e) {
System.out.println(e.toString());
}
}
public ClassDemo() {
// no argument constructor
}
public ClassDemo(long l, int i) {
this.l = l;
this.i = i;
}
long l = 77688;
int i = 3;
}
输出
让我们编译并运行上述程序,这将产生以下结果:
Field = long com.tutorialspoint.ClassDemo.l Field = int com.tutorialspoint.ClassDemo.i
获取 ArrayList 类声明字段的示例
以下示例演示了 java.lang.Class.getDeclaredFields() 方法的用法。在此程序中,我们使用了 ArrayList 的类。使用 getDeclaredFields(),我们检索了所有声明的字段并打印它们。
package com.tutorialspoint;
import java.lang.reflect.Field;
public class ClassDemo {
public static void main(String[] args) {
try {
Class cls = ArrayList.class;
// returns the array of Field objects
Field[] fields = cls.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("Field = " + fields[i].toString());
}
} catch(Exception e) {
System.out.println(e.toString());
}
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
Field = private static final long java.util.ArrayList.serialVersionUID Field = private static final int java.util.ArrayList.DEFAULT_CAPACITY Field = private static final java.lang.Object[] java.util.ArrayList.EMPTY_ELEMENTDATA Field = private static final java.lang.Object[] java.util.ArrayList.DEFAULTCAPACITY_EMPTY_ELEMENTDATA Field = transient java.lang.Object[] java.util.ArrayList.elementData Field = private int java.util.ArrayList.size
获取 Thread 类声明字段的示例
以下示例演示了 java.lang.Class.getDeclaredFields() 方法的用法。在此程序中,我们使用了 Thread 的类。使用 getDeclaredFields(),我们检索了所有声明的字段并打印它们。
package com.tutorialspoint;
import java.lang.reflect.Field;
public class ClassDemo {
public static void main(String[] args) {
try {
Class cls = Thread.class;
// returns the array of Field objects
Field[] fields = cls.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("Field = " + fields[i].toString());
}
} catch(Exception e) {
System.out.println(e.toString());
}
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
Field = private volatile long java.lang.Thread.eetop Field = private final long java.lang.Thread.tid Field = private volatile java.lang.String java.lang.Thread.name Field = volatile boolean java.lang.Thread.interrupted Field = private volatile java.lang.ClassLoader java.lang.Thread.contextClassLoader Field = private java.security.AccessControlContext java.lang.Thread.inheritedAccessControlContext Field = private final java.lang.Thread$FieldHolder java.lang.Thread.holder Field = java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.threadLocals Field = java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.inheritableThreadLocals Field = private java.lang.Object java.lang.Thread.scopedValueBindings Field = private static final java.lang.Object java.lang.Thread.NEW_THREAD_BINDINGS Field = final java.lang.Object java.lang.Thread.interruptLock Field = private volatile java.lang.Object java.lang.Thread.parkBlocker Field = volatile sun.nio.ch.Interruptible java.lang.Thread.nioBlocker Field = public static final int java.lang.Thread.MIN_PRIORITY Field = public static final int java.lang.Thread.NORM_PRIORITY Field = public static final int java.lang.Thread.MAX_PRIORITY Field = private jdk.internal.vm.Continuation java.lang.Thread.cont Field = static final int java.lang.Thread.NO_INHERIT_THREAD_LOCALS Field = private static final java.lang.StackTraceElement[] java.lang.Thread.EMPTY_STACK_TRACE Field = private volatile java.lang.Thread$UncaughtExceptionHandler java.lang.Thread.uncaughtExceptionHandler Field = private static volatile java.lang.Thread$UncaughtExceptionHandler java.lang.Thread.defaultUncaughtExceptionHandler Field = long java.lang.Thread.threadLocalRandomSeed Field = int java.lang.Thread.threadLocalRandomProbe Field = int java.lang.Thread.threadLocalRandomSecondarySeed Field = private jdk.internal.vm.ThreadContainer java.lang.Thread.container Field = private volatile jdk.internal.vm.StackableScope java.lang.Thread.headStackableScopes
java_lang_class.htm
广告