1 这是个什么设计模式,是单例模式吗?感觉有点像,但是又不像
是,因为私有构造器,并且有个static的方法用来生成该类的对象,并且该类只能产生一个对象2 构造函数是私有方法,但是在声明成员的时候就调用了这个方法,这有什么特殊的含义吗?
这个就是单例的原理,因为类唯一对象是对应类的。3 这个类是在一个软件的开始的时候,用于涉及文件的操作用的,其中有些方法前有synchronized, 能说说大概的用处吗?
这个就是多线程了 ,多线程的话,对该类对象的操作时候有加锁等操作,起排斥作用
单例还有对应多线程的表达方式,有兴趣可以google
是,因为私有构造器,并且有个static的方法用来生成该类的对象,并且该类只能产生一个对象2 构造函数是私有方法,但是在声明成员的时候就调用了这个方法,这有什么特殊的含义吗?
这个就是单例的原理,因为类唯一对象是对应类的。3 这个类是在一个软件的开始的时候,用于涉及文件的操作用的,其中有些方法前有synchronized, 能说说大概的用处吗?
这个就是多线程了 ,多线程的话,对该类对象的操作时候有加锁等操作,起排斥作用
单例还有对应多线程的表达方式,有兴趣可以google
1 这两个有什么不同呢?
2 调用的顺序应该是什么呢?我的意思是,YAWLEditor的构造函数,YAWLEditor.getInstance(), YAWLEditor.main(),ArchivingThread的构造函数,还有ArchivingThread.getInstance()的顺序是什么?
自己加了断点,试了一下,顺序好像是YAWLEditor.main(), YAWLEditor.getInstance(),ArchivingThread的构造,ArchivingThread.getInstance()
帮忙确认一下,谢谢3 static这个关键,说明的是在实例出现前,就可以调用的函数,就可以使用的变量,是吗?是不是也像C++那样,多个实例共用一个static的变量?public class YAWLEditor extends JFrame implements SpecificationFileModelListener { private static YAWLEditor INSTANCE; private YAWLEditor() {
ArchivingThread.getInstance().start();
} public static YAWLEditor getInstance() {
if (INSTANCE == null) {
INSTANCE = new YAWLEditor();
}
return INSTANCE;
} public static void main(String[] args) { getInstance();
}
私有构造函数是为了保障其他地方无法构建该类的对象
synchronized 是为了防止多线程时候该方法或这代码快被同时调用
2.懒得试了。
3.大概就是找个意思