1.float类型在Java中占用4字节,long类型在Java中占用8字节,为什么float类型的取值范围比long类型的取值范围还大?

2.使用“+”可以连接两个字符串(String对象),那么,是怎样进行连接的?

3.构造器是否创建了对象?该怎样来证明这一点?

4.如果没有在类中显示声明构造器,则编译器会自动生成一个无参的构造器,那么编译器为什么要自动生成这个无参的构造器呢?有什么作用?

5.i++与++i到底有什么不同?仅仅是先加与后加的区别吗?

6.移位运算:5 << 35,会首先进行35 % 32的求余运算吗?如果是这样,那么5 << −2的结果是多少呢?

7.如果重写了equals方法,为什么还要重写hashCode方法?如果没有重写hashCode方法,会有什么问题?

8.从JDK1.7起,switch语句可以支持String类型,那么在底层是如何实现的?

9.静态方法是否可以重写?方法重写与方法隐藏有什么不同?

10.为什么不能在静态方法中使用this?this指代的是当前对象,但是,这个所谓的“当前对象”到底在哪里?

11.在Java中,类型会在什么时间、什么条件下由JVM加载?加载后一定会初始化吗?

12.比起C / C++中的枚举,Java中的枚举有什么不同(优势)?枚举是怎样实现的?

13.为什么要为String对象建立常量池?String常量池有什么好处?

14.每个基本数据类型都对应一个包装类型,这些包装类型有什么用?

15.内部成员类是如何绑定外围类对象的?

对于以上问题:

  • 如果你能回答0~5个,那说明你是一个Java新手,处于学习阶段,对Java语言有初步的了解。
  • 如果你能回答6~10个,那你属于Java中级水平,处于成长阶段,具有一定的Java功底。
  • 如果你能回答11~14个,你属于Java中高级水平,处于成熟阶段,对Java有着较为深入的理解。
  • 如果你能回答全部问题,并且理解透彻,那想必你一定已经从事Java研究多年,是一个经验丰富的“高手”。
powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:37:01

results matching ""

    No results matching ""