博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java面试题
阅读量:7081 次
发布时间:2019-06-28

本文共 1842 字,大约阅读时间需要 6 分钟。

面向对象的特征有哪些方面? 

- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 

- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。

- 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。

- 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。方法的重写Overriding和重载Overloading是Java多态性的不同表现。

 

HashMap和LinkedHashMap的区别

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap。 Map主要用于存储健值对,根据键得到值,因此不允许键重复,但允许值重复。      //使用迭代器遍历Map的键,根据键取值          Iterator it = map.keySet().iterator();          while (it.hasNext()){               key = it.next();              value = map.get(key);             System.out.println("key: " + key + "; value: " + value );          } 

** 

* 判断map是否包含某个键 
* @param map 
* @param key 
* @return 
*/ 
public static boolean containsKey(Map map, Object key){ 
      if (map != null){ 
           return map.containsKey(key); 
      } 
     return false; 

 

** 

* 判断map是否包含某个值
* @param map 
* @param key 
* @return 
*/ 

public static boolean containsValue(Map map, Object value){ 

        if (map != null){ 
            return map.containsValue(value); 
        } 
        return false; 

 

LinkedHashMap,键和值可以为null,可以使插入的顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比HashMap慢。也可以是基于访问顺序,其中一个构造器:

 

java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

  答:字节流,字符流。
  字节流继承于InputStream OutputStream,
  字符流继承于Reader Writer。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。

 

什么是java序列化,如何实现java序列化?

  答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。
  可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。
  序列化是为了解决在对对象流进行读写操作时所引发的问题。
  序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,
  implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造
  一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以
  将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

 

面向字节的输入输出类的基类是Inputstream和Outputstream。

面向字符的输入输出类的基类是Reader和Writer。

 

转载于:https://www.cnblogs.com/zhaoleigege/p/5275253.html

你可能感兴趣的文章
马哥Linux线下活动和学员风采
查看>>
PHP中$_SERVER的详细参数与说明
查看>>
Android Studio使用说明
查看>>
功能应用程序延迟发送:4款定时发送短信的应用程序
查看>>
linux shell脚本获得当前文件路径
查看>>
畅想(3)-下一步的计划
查看>>
Tail Recursion, Recursion, Concepts and Examples
查看>>
任务超期后的定时器处理
查看>>
myeclipse乱码问题和 编码设置
查看>>
WEB打印的几种方案
查看>>
linux下安装QT过程
查看>>
ADO.NET访问SQL Server调用存储过程带回参
查看>>
为outlook增加“邮件召回”功能
查看>>
设计模式12---设计模式之代理模式(Proxy)(结构型)
查看>>
[置顶] 实现360度全景图像的利器--PanoramaGL
查看>>
杀人放火金腰带,修桥补路无尸骸。
查看>>
UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据
查看>>
【转载】pygame的斜线运动
查看>>
How to measure IOPS for VMware
查看>>
GNU风格 ARM汇编语法4
查看>>