在java中,怎么才能不实例化对象就能初始化一常量?
在做自动问答系统。在JFrame界面中接到用户输入问题后,调用分词类FC.class,类中有一字典,每次分词都要加载外部文件来初始化字典,感觉会拖慢速度。。于是想在JFr...
在做自动问答系统。在JFrame界面中接到用户输入问题后,调用分词类FC.class,类中有一字典,每次分词都要加载外部文件来初始化字典,感觉会拖慢速度。。于是想在JFrame一启动时就能初始化字典。以后要用时都不用再加载。然后所有其它类都能调用。但不用先new一个JFrame出来。。。。总之,java中有没有一种类似全局静态类的东西,可以初始化一次,然后供所有类使用。或者有其它的方法,可以达到这个效果的?
展开
4个回答
展开全部
可以 方法很多 写在静态代码块中
static
{
}
你也可以定义一个static的类 把类中的方法都用static关键字来修饰,或者用到单例设计模式
class Person
{
private Person(){}
private static Person p = new Person p();
public static Person getPerson()
{
return p;
}
}
static
{
}
你也可以定义一个static的类 把类中的方法都用static关键字来修饰,或者用到单例设计模式
class Person
{
private Person(){}
private static Person p = new Person p();
public static Person getPerson()
{
return p;
}
}
追问
我是要把词典在类JFrame一启动时就把字典文件加载进String[ ] dic 里面,然后想在另一个类fc里面调用这个dic
但是不想在fc里面创建JFrame实例 才能调用dic。如果把dic设为静态static。然后直接在fc里面直接用JFrame.dic的话,好像还是要重新加载文件才能完成dic的初始化,而不是用我在JFrame启动时已经加载好的dic
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用静态代码块啊
static{
..........................
}属于类的,不属于对象的。虚拟机加载就初始化了
static{
..........................
}属于类的,不属于对象的。虚拟机加载就初始化了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的。
支持类的静态变量、静态过程
public static FC fc;
static{
fc = new FC();
}
别的地方就可以"类名.fc"来调用
具体你调试调试
支持类的静态变量、静态过程
public static FC fc;
static{
fc = new FC();
}
别的地方就可以"类名.fc"来调用
具体你调试调试
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用关键字static修饰变量即可做到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询