Java面试题

发表于:2011-1-04 10:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:有名太累,无名轻松(cn    来源:51Testing软件测试网采编

  七、谈谈HashMap和Hashtable的区别。

  答: HashMap是轻量级的(线程不安全的,效率高的)集合,Hashtable是重量级的(线程安全的,效率低的)集合。

  都属于Map接口的类,实现了将惟一键映射到特定的值上。

  HashMap 类没有分类或者排序。它允许一个 null 键和多个null值。

  Hashtable 类似于 HashMap,但是不允许 null 键和 null值。它也比 HashMap慢,因为它是同步的。

  八、请问abstract class和interface有什么区别?

  答:  1) 接口没有任何的实现,而抽象类它可以有部分的实现也可以没有;

  2) 如果需要复用或者共享部分代码,应该用抽象类而不是接口;

  3) 继承无法解决类型的转换问题,接口就是为了解决这一问题而产生的(Java的单继承是接口产生的根本原因)接口是一种抽象的第三方规范,跟对象没什么直接关系。

  九、请问软件开发中的设计模式你会使用哪些?

  答:我熟悉的设计模式有单例模式,DAO模式,模板方法,工厂模式,委托代理模式,MVC模式等。

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

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

  public class MySingleton{

  private MySingleton (){};//私有的构造方法

  private static MySingleton mys=newMySingleton();

  public static MySingleton newInstance(){return mys;}

  十、类的核心特性有哪些?

  类具有封装性、继承性和多态性。

  封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。

  继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。

  多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

  十一、请问类与对象有什么区别?

  类:类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。

  对象:在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。

  十二、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别

  1)读文件:  FileReader 从文本文件中读字符到程序

  (1) 写文件: FileWriter 程序写字符到文本文件

  (2)缓冲: BufferedReader 读文件;BufferedWriter 写文件

  注:文本文件本质上也是二进制文件,它是由一个一个的字节构成的。但不同的是,其中的每个字节都代表字符。

  2、二进制文件的读写

  (1)写文件: FileOutputStream 将二进制数据写入文件。

  DataOutputStream 可连接到一个 FileOutputStream 上,便于写各种基本类型的数据。

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号