/**
*下面的程序为的是只生成一个Chinese对象,在除Chinese类之外的类不能再生成Chinese对象。
*我的疑惑是Chinese ch1 = Chinese.getInstance();后调用getInstance(),在这个方法中return obj
*这个obj在什么时候加载呀。难不成return obj后,Chinese obj = new Chinese();这条语句就自动
*执行吗?
*obj在类加载的时候生成,但obj初始化后就能生成一个Chinese对象吗?*/
class Chinese
{
static Chinese obj = new Chinese();
private String name;
private int age;
public void sing() {
System.out.println("啊!!!");
}
private Chinese() { }
public static Chinese getInstance() {
return obj;
}
}public class TestChinese
{
public static void main(String[] args) {
Chinese ch1 = Chinese.getInstance();
Chinese ch2 = Chinese.getInstance();
System.out.println(ch1 == ch2); }
}
*下面的程序为的是只生成一个Chinese对象,在除Chinese类之外的类不能再生成Chinese对象。
*我的疑惑是Chinese ch1 = Chinese.getInstance();后调用getInstance(),在这个方法中return obj
*这个obj在什么时候加载呀。难不成return obj后,Chinese obj = new Chinese();这条语句就自动
*执行吗?
*obj在类加载的时候生成,但obj初始化后就能生成一个Chinese对象吗?*/
class Chinese
{
static Chinese obj = new Chinese();
private String name;
private int age;
public void sing() {
System.out.println("啊!!!");
}
private Chinese() { }
public static Chinese getInstance() {
return obj;
}
}public class TestChinese
{
public static void main(String[] args) {
Chinese ch1 = Chinese.getInstance();
Chinese ch2 = Chinese.getInstance();
System.out.println(ch1 == ch2); }
}
解决方案 »
- JDBC 连接数据库的保持连接alive
- DB2 JDBC failed on sum a DOUBLE TYPE 202601.84 + 249494.82=452096.660000003
- 关于用eclipse打开串口的问题~~急
- 谁有jawin alpha1.zip发我一下!
- 取得某一年的所有周六,周日的程序.
- struts 中 html:options 输出的 html 页面 怎么有多个 selected="selected"
- 谁有这个连接的中文版?发一个给我好吗?谢谢
- 排序问题
- java3d的问题??
- freetds_jdbc.jar谁会用,那里可以找到它的使用文档?
- setVisible(false) 窗体没消失
- 如何获取JTable的模型,然后添加一行空白行
因为obj是静态的所以它在类加载的时候就生成了,不会在return obj后执行
obj在类加载的时候生成,但obj初始化后就能生成一个Chinese对象吗?
对
主动使用:
1、new一个Chinese 实例 new Chinese() ;
2、使用 反射机制 Class.forName() ;
3、创建一个类的子类,那么就是对这个类主动使用
4、访问类的静态变量或设置静态变量
5、访问类的静态函数
6、该类标识为启动类 ,即 java Chinese ;