以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  Java面试题-代码与编程部分[分享]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=88679)


--  作者:luodis
--  发布时间:12/15/2010 1:35:00 PM

--  Java面试题-代码与编程部分[分享]
Java面试题-代码与编程部分

java 私塾整理面试题系列----java篇-代码与编程部分,先看两道题。另外,java 私塾课堂实录视频,初级到高级都很经典,很适合深入学习。

1、写一个Singleton出来

答:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有几种形式。

第一种形式

定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

以下内容为程序代码:

public class Singleton {
    private Singleton(){}
  //在自己内部定义自己一个实例,是不是很奇怪?
  //注意这是private 只供内部调用
  private static Singleton instance = new Singleton();
  //这里提供了一个供外部访问本class的静态方法,可以直接访问  
  public static Singleton getInstance() {
    return instance;   
  }
}


第二种形式

以下内容为程序代码:

public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次,使用时生成实例,提高了效率!
    if (instance==null)
    instance=new Singleton();
        return instance;
  }
}


其他形式

定义一个类,它的构造函数为private的,所有方法为static的。

一般认为第一种形式要更加安全些

2、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?

答:父类:

以下内容为程序代码:

package test;
public class  FatherClass
{
    public FatherClass()
{
  System.out.println(FatherClass Create);
}
}


子类

[code]
package test;
import test.FatherClass;
public class  ChildClass extends FatherClass{
  public ChildClass() {
    System.out.println(ChildClass Create);
  }
  public static void main(String[] args)  {
    FatherClass fc = new FatherClass();
    ChildClass cc = new ChildClass();
  }
}[/code]

输出结果:
Cjava test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create

--  作者:bww9009
--  发布时间:6/24/2011 5:45:00 PM

--  
输出结果:
FatherClass Create
FatherClass Create
ChildClass Create
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms