zoukankan      html  css  js  c++  java
  • java面试题

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

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

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

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

    - 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。方法的重写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。

  • 相关阅读:
    2021hdu多校第二场补题
    ORACLE数据库之SQL语言基础
    EXCEL应用
    element-ui闭坑
    题解 CF1559E 【Mocha and Stars】
    题解 CF1530D 【Secret Santa】
    题解 CF1209E2 【Rotate Columns (hard version)】
    题解 CF761E 【Dasha and Puzzle】
    题解 UVA437 【巴比伦塔 The Tower of Babylon】
    题解 P6100 【[USACO19FEB]Painting the Barn G】
  • 原文地址:https://www.cnblogs.com/zhaoleigege/p/5275253.html
Copyright © 2011-2022 走看看