lang包能有什么,有星号呗,平时写代码import导入不都是java.lang.*吗?(开个玩笑)。一看到这问题,小义也是一时语塞,想不起来有啥,打开jdk源码一看,其实也就是那么一回事。以下是lang包中包含的java类。
可以看到,我们平时写代码用到的Object、String、Math、System、Integer等基础类,都在这个包中。在Java的世界里,java.lang包如同空气一般,无处不在却又常常被忽视,它是Java的核心包,所包含的类构成了Java语言的骨架,是每个Java程序运行的基础。没有它们,Java程序就如同失去了灵魂。
所以如果换种问法,比如java的基础类有哪些,列举几个看看?相信很多人都能答得出来。但不管怎样,这个问题的答案还是太广泛,涵盖面太大。面试官提出这个问题,往往是想通过它来评估程序员的基础知识掌握情况及其深入思考的能力。
这时候,可以从中选取几个代表性的类或接口,深入探讨它们的设计原理、使用场景,以及在各类应用程序中发挥的作用。
例如,String类,它在Java中几乎无处不在,但它的不可变特性却影响着程序的性能和线程安全性;再如Exception类,它是Java异常处理机制的基础,直接关系到程序的健壮性和错误处理能力。而Object类,作为所有Java类的祖先,它的equals、hashCode以及toString方法,则是Java中实现对象比较、散列存储以及字符串表达的基石。
说了这么多,不难看出java.lang包藏匿的深邃。一个真正优秀的Java程序员,不仅需要对这些基础类有充分的了解,更需要能够洞察它们背后的设计理念,以及如何在实际开发中灵活运用。