找回密码

只需一步,快速开始

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 1176|回复: 0

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

[复制链接]
发表于 2010-12-15 11:03 | 显示全部楼层 |阅读模式
Java面试题-代码与编程部分

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

1、写一个Singleton出来

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

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

第一种形式

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

  1. public class Singleton {
  2.     private Singleton(){}
  3.   //在自己内部定义自己一个实例,是不是很奇怪?
  4.   //注意这是private 只供内部调用
  5.   private static Singleton instance = new Singleton();
  6.   //这里提供了一个供外部访问本class的静态方法,可以直接访问  
  7.   public static Singleton getInstance() {
  8.     return instance;   
  9.   }
  10. }
复制代码
第二种形式

  1. public class Singleton {
  2.   private static Singleton instance = null;
  3.   public static synchronized Singleton getInstance() {
  4.   //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次,使用时生成实例,提高了效率!
  5.     if (instance==null)
  6.     instance=new Singleton();
  7.         return instance;
  8.   }
  9. }
复制代码
其他形式

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

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

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

答:父类:

  1. package test;
  2. public class  FatherClass
  3. {
  4.     public FatherClass()
  5. {
  6.   System.out.println(FatherClass Create);
  7. }
  8. }
复制代码
子类

  1. package test;
  2. import test.FatherClass;
  3. public class  ChildClass extends FatherClass{
  4.   public ChildClass() {
  5.     System.out.println(ChildClass Create);
  6.   }
  7.   public static void main(String[] args)  {
  8.     FatherClass fc = new FatherClass();
  9.     ChildClass cc = new ChildClass();
  10.   }
  11. }
复制代码
输出结果:
Cjava test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

热门推荐

关于我们|小黑屋|手机版|Archiver|南漳热线 ( 鄂ICP备2021000082号-2 || 鄂公网安备 42062402000199号 )

GMT+8, 2024-12-28 18:49

Powered by Discuz! X3.4 Licensed © 2001-2013 Comsenz Inc & Style Design

快速回复 返回顶部 返回列表