在开始学习之前我会列出以下的一些问题如果你能回答0~5个,那么说明你是一个Java新手,回答6~10个,那么说明你是Java中高级水平,处于成长阶段,回答11~14个,那么说明你属于Java中高级水平,处于成熟阶段,对Java有着较为深入的理解。如果可以全部回答正确,并且理解透彻,那么您一定是一个Java高手请受小弟一拜!话多不说开始以下的一些问题。
-
1.float类型在Java中占用四个字节,long类型占用八个字节,为什么float类型的取值范围比long类型大呢?
-
2. 使用 “+”可以连接两个字符串(String对象),那么是怎样进行连接的?
-
3. 构造器是否创建了对象?怎样证明这一点呢?
-
4. 如果没有类中显示的声明构造器,则编译器会自动生成一个无参数的构造器,那么编译器为什么会自动生成一个无参数的构造器,为什么这样做有什么目的?
-
5. i++与++i有什么不同? 仅仅只是先加和后加的区别吗?
-
6. 移位运算:5<<35,会首先进行35%32的求余运算吗?如果是这样5 << -2的结果为多少呢?
-
7. 如果重写了equals方法,为什么还要重写hashCode方法呢?如果没有这样做, 会出现什么情况呢?
-
8. JDK1.7起,switch语句可以支持String类型,那么底层是怎么实现的呢?
-
9. 静态方法可以重写吗?方法重写和方法隐藏有什么不同呢?
-
10. 为什么不可以在静态方法中使用this?this 指代的是当前的对象,但是这个所谓的当前对象到底在哪里呢?
-
11. 在Java中,类型会在什么 时间,什么条件下由JVM进行加载?加载之后一定会进行初始化吗?
-
12. 比起C/C++中的枚举,Java中的枚举有什么不同(优势)? 枚举是怎样实现的呢?
-
13. 为什么要为String对象建立常量池?String 常量池的好处是什么呢?
-
14. 每个基本类型都会对应一个包装类型?这些包装类型有什么用?
-
15. 内部成员类是如何绑定外围类对象呢?
不知道在电脑那头的你们结果怎样,我自己的结果惨不忍睹就不和大家分享了,其实很多问题在我学习Java知识的时候有了解但是真正需要我去回答我却不知从何说起, 所以就会脑中空空。和我有类似问题的朋友欢迎大家和我一起学习,重拾基础!