美文网首页
2018-12-20今日流程

2018-12-20今日流程

作者: 天道灬酬勤 | 来源:发表于2018-12-20 21:17 被阅读17次

今日面试题

1.抽象类和接口的区别

接口:接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。
抽象类:抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。

2.常用的集合有哪些,谈谈对它们的理解

Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
Set接口主要实现了两个实现类:
HashSet : HashSet类按照哈希算法来存取集合中的对象,存取速度比较快
TreeSet : TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。
List的特征是其元素以线性方式存储,集合中可以存放重复对象。List接口主要实现类包括:ArrayList() : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与与删除元素的速度慢。
LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。
List结构的集合类:ArrayList类,LinkedList类,Vector类,Stack类
Map结构的集合类:HashMap类,Hashtable类Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有继承于Collection接口从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。

3.==与equals()的区别?

== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。
equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。

4.方法重写和方法重载的区别?

重写与重载的区别.png

5.throw 和 throws 的区别?

throw是语句抛出一个异常,throws是方法抛出一个异常;
throw不能单独使用,不是和try-catch-finally配套使用,就是与throws配套使用,但throws可以单独使用,然后再由异常处理的方法捕获。
throw是语句抛出一个异常,throws是方法抛出一个异常;
throw不能单独使用,不是和try-catch-finally配套使用,就是与throws配套使用,但throws可以单独使用,然后再由异常处理的方法捕获。

6.描述遇到过的异常有哪些?

(1)java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象
(2)java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路
径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常
(3)java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符
(4)java.lang.IndexOutOfBoundsException 数组角标越界异常;
(5)java.lang.IllegalArgumentException 方法传递参数错误
(6)java.lang.ClassCastException 数据类型转换异常
(7)java.lang.NoClassDefFoundException 未找到类定义错误
(8)SQLException 操作数据库异常
(9)java.lang.InstantiationException 实例化异常
(10)java.lang.NoSuchMethodException 方法不存在异常

7.final, finally, finalize 的区别?

final:java中的关键字,修饰符。
A).如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个类不能同时被声明为abstract抽象类的和final的类。
B).如果将变量或者方法声明为final,可以保证它们在使用中不被改变.
  1)被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
  2)被声明final的方法只能使用,不能重载。
finally:java的一种异常处理机制。
  finally是对Java异常处理模型的最佳补充。finally结构使代码总会执行,而不管无异常发生。使用finally可以维护对象的内部状态,并可以清理非内存资源。特别是在关闭数据库连接这方面,如果程序员把数据库连接的close()方法放到finally中,就会大大降低程序出错的几率。
finalize:Java中的一个方法名。
Java技术使用finalize()方法在垃圾收集器将对象从内存中清除出去前,做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没被引用时对这个对象调用的。它是在Object类中定义的,因此所的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

8.String、 StringBuffer、 StringBuilder 的区别?

区别.png

9.Java 中有几种类型的流?分别是什么?

流分类:
1.Java的字节流
InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先。
2.Java的字符流
Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先

10.break 和continue 的区别?

break与continue的区别.png jmyp.png

相关文章

  • 2018-12-20今日流程

    今日面试题 1.抽象类和接口的区别 接口:接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的...

  • Day22 #100DaysofMLCoding#

    2018-12-20/21个人网站:www.mwhitelab.com 今日所学 CS229 20/写CS229学...

  • (GitHub+Hexo搭建个人博客系列)01、搭建本地的hex

    文丨liyuhong2019发布时间:2018-12-20 (周四 广州/晴)最后更新时间:2018-12-20 ...

  • 武汉市锦绣三江传媒有限公司

    2018-12-20简书作者王军 2018-12-20☞22:24☞打开App 王军日精进打卡第25天】 【知~学...

  • [读书](晨倚风)

    [读书] (晨倚风)2018-12-20 ...

  • 今日流程

    一关系型数据库 1、Mysql 部分 1.1 架构图介绍 1.连接管理与安全验证是什么? 每个客户端都会建立一个与...

  • 今日流程

    1.看场地。 2.画室请谭一吃饭。画画 3.速写打卡已完成。还有个涂鸦打卡。晚上画一下。无主之地。 4.好好想想画...

  • 今日流程

    一、面试题 抽象类和接口的区别 1.接口描述了方法的特征,不给出实现,一方面解决java的单继承问题,实现了强大的...

  • 今日流程

    有难度的事情才是真正进步的开始——王纪琼 今日流程 原本八点下夜班可以早早回家,家里老公和妹妹还发着烧,昨...

  • Echo的ScalersTalk第四轮新概念朗读持续力训练Day

    训练材料: [Day 1546 2018-12-20] Lesson74 Out of the limelight...

网友评论

      本文标题:2018-12-20今日流程

      本文链接:https://www.haomeiwen.com/subject/krbykqtx.html