Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
JavaDevTeam
/
notes
Public
Notifications
You must be signed in to change notification settings
Fork
64
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Files
Expand file tree
master
Breadcrumbs
notes
/
Java
/
reflect
/
java-reflect-Class.java
Copy path
Blame
More file actions
Blame
More file actions
Latest commit
History
History
History
78 lines (54 loc) · 2.06 KB
master
Breadcrumbs
notes
/
Java
/
reflect
/
java-reflect-Class.java
Copy path
Top
File metadata and controls
Code
Blame
78 lines (54 loc) · 2.06 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---------------------
java
.
reflect
.
Class
|
---------------------
---------------------
实例方法
|
---------------------
<
A
extends
Annotation
>
AgetAnnotation
(
Class
<
A
>
annotationClass
);
*
获取指定类型的注解
,
如果该类未标识
,
则返回null
Annotation
[]
getAnnotations
();
*
获取所该类上标识的所有注解
boolean
isAnnotationPresent
(
Class
<?
extends
Annotation
>
annotationClass
)
*
如果指定类型的注释存在于此元素上
,
则返回
true
,
否则返回
false
。
ClassLoader
getClassLoader
();
*
获取类加载器
Constructor
<
T
>
getConstructor
(
Class
<?>...
parameterTypes
)
*
返回一个
public
修饰的
Constructor
(
构造器
)
对象
,
是根据参数来获取
Constructor
[]
getConstructors
() ;
*
获取所有的公共构造方法对象
Field
getField
(
String
filedName
);
*
获取指定名称的字段对象
,
必须是
public
修饰的
,
否则抛出异常
Field
getDeclaredField
(
String
filedName
);
*
获取指定名称的字段对象
,
可以是任何权限修饰符修饰的
Field
[]
getFields
();
*
返回该类所有
public
修饰的字段对象
Field
[]
stsgetDeclaredFields
()
*
返回该类所有的字段对象
Method
getMethod
(
String
name
,
Class
<?>...
parameterTypes
);
*
根据方法名称
,
以及参数描述来获取一个方法对象
Method
[]
c
.
getMethods
();
*
返回的是所有的
public
方法
,
不包含从父类继承的
T
newInstance
();
*
使用无参构造器创建一个新的对象
boolean
isInterface
();
*
判断是否是接口
boolean
isEnum
();
*
判断是否是枚举
boolean
isArray
();
*
是否是数组
Class
<?>[]
getInterfaces
()
*
获取当前类实现的所有接口
InputStream
getResourceAsStream
(
String
name
);
*
非
'/'
开头时默认是从此类所在的包下取资源
*
以
'/'
开头则是从ClassPath根下获取
。
其只是通过path构造一个绝对路径
,
最终还是由ClassLoader获取资源
。
boolean
isAssignableFrom
(
Class
clazz
);
*
判断当前
Class
,
是否是
clazz
的父类
,
或者同类
*
说白了
,
就是判断是否可以强转
T
[]
getEnumConstants
()
*
如果此
Class
对象不表示枚举类型
,
则返回枚举类的元素或
null
。
*
以声明顺序返回一个数组
,
该数组包含构成此
Class
对象所表示的枚举类的值
,
或者在此
Class
对象不表示枚举类型时返回
null
---------------------
静态方法
|
---------------------
Class
forName
(
String
className
);
*
加载指定的类到内存
,
并获取到Class对象
You can’t perform that action at this time.