社区
Java
帖子详情
如何知道一个静态对象时候存在?
maplewind
2002-12-12 11:29:26
在另一个java文件里的static对象。
如果不存在,就不对它产生调用。已经存在了,就操作他。
该怎么判断它是否存在?
...全文
124
9
打赏
收藏
如何知道一个静态对象时候存在?
在另一个java文件里的static对象。 如果不存在,就不对它产生调用。已经存在了,就操作他。 该怎么判断它是否存在?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ydtj829
2002-12-16
打赏
举报
回复
如果非要判断,为什么不用ASSERT或者if之类的语句呢?
zhwb36
2002-12-16
打赏
举报
回复
非要判断,那就象nc201给出的例子那样,使用异常的方法,如果不存在,就不对它产生调用,已经存在了,就操作他。
DavidBone
2002-12-14
打赏
举报
回复
当此类第一次被引用时,static就被initialize了
maplewind
2002-12-12
打赏
举报
回复
那就是说没有办法判断时候存在,也没有办法不使用他???
jery_lee
2002-12-12
打赏
举报
回复
YES!
ilka
2002-12-12
打赏
举报
回复
不用判断,当你是用它时,它必然是已经存在的,static初始化动作发生在类装入内存时。
fish1980
2002-12-12
打赏
举报
回复
static变量只初始化一次,发生在类装入时。
Philzzf
2002-12-12
打赏
举报
回复
修正上面的!
Class t;
try {
t = Class.forName("java.lang.Math");
Method[] methods = t.getDeclaredMethods();
for (int i = 0; i < methods.length; i++) {
Method methVal = methods[i];
Class returnVal = methVal.getReturnType();
int mods = methVal.getModifiers();
String modVal = Modifier.toString(mods);
Class[] paramVal = methVal.getParameterTypes();
StringBuffer params = new StringBuffer();
for (int j = 0; j < paramVal.length; j++) {
if (j > 0)
params.append(", ");
params.append(paramVal[j].getName());
}
System.out.println("Method: " + methVal.getName() + "()");
System.out.println("Modifiers: " + modVal);
System.out.println("Return Type: " + returnVal.getName());
System.out.println("Parameters: " + params + "\n");
}
} catch (ClassNotFoundException c) {
System.out.println(c.toString());
}
Philzzf
2002-12-12
打赏
举报
回复
给你一个例子。
Class t;
try {
inspect = Class.forName("java.lang.Math");
Method[] methods = t.getDeclaredMethods();
for (int i = 0; i < methods.length; i++) {
Method methVal = methods[i];
Class returnVal = methVal.getReturnType();
int mods = methVal.getModifiers();
String modVal = Modifier.toString(mods);
Class[] paramVal = methVal.getParameterTypes();
StringBuffer params = new StringBuffer();
for (int j = 0; j < paramVal.length; j++) {
if (j > 0)
params.append(", ");
params.append(paramVal[j].getName());
}
System.out.println("Method: " + methVal.getName() + "()");
System.out.println("Modifiers: " + modVal);
System.out.println("Return Type: " + returnVal.getName());
System.out.println("Parameters: " + params + "\n");
}
} catch (ClassNotFoundException c) {
System.out.println(c.toString());
}
在
一个
静态
方法内调用
一个
非
静态
成员为什么是非法的?
静态
方法是属于类的,动态方法属于实例
对象
,在类加载的时候就会分配内存,可以通过类名直接去访问,非
静态
成员(变量和方法)属于类的
对象
,所以只有该
对象
初始化之后才
存在
,然后通过类的
对象
去访问。也就是说如果...
ApplicationContext?SpringBoot中
静态
方法如何引用非
静态
对象
?
最近在项目开发中遇到了
一个
问题:在SpringBoot项目中
静态
方法的上下文如何引用非
静态
的
对象
? 先来说项目中的需求:项目中要开发
一个
工具类用于调用远端网关的Http接口, 在调用网关接口之前需要先获取
一个
Token...
JAVA非
静态
类与
静态
类、
对象
、变量、方法等的区别
在
一个
类中创建另外
一个
类,叫做成员内部类。这个成员内部类可以
静态
的(利用static关键字修饰),也可以是非
静态
的。由于
静态
的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。 在...
Java之static
静态
对象
static关键字: 1.概念: 被该类的所有
对象
共享使用,不依赖于某个具体的
对象
,和
对象
无关,依赖于类,在内存中唯一只有... Student类的.class文件加载到方法区中(此时还没有
对象
),如果.class文件中有static
静态
修饰的内...
Java调用
静态
变量会不会先创建
对象
?Java
静态
成员的基本知识
同时它是优于
对象
存在
的,所以可以被所有的
对象
共享的。 类加载过程 加载 通过
一个
类的完全限定查找此类字节码文件,并利用字节码文件创建
一个
Class
对象
。 验证 目的在于确保Class文件的字节流中包含信息符合...
Java
51,411
社区成员
86,004
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章