摘要:
测试代码如下: 程序执行分析: 当程序执行到第20行时会产生数组下标越界异常,这时直接跳到catch语句块,此时x==10,并没有return。 最终执行finally语句块此时x==11,并返回x,最终输出结果为11。 阅读全文
摘要:
对于如下代码: 第一条语句打印的结果为false,第二条语句打印的结果为true, 说明javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期再去进行加法运算处理,而是在编译时去掉其中的加号,直接将其编译成一个这些常量相连的结果。 题目中的代码被编译器在编译时优化后,相当于直接定义 阅读全文
摘要:
两个或一个都有可能 。 ”xyz”对应一个对象,这个对象放在字符串常量池,常量”xyz”不管出现多少遍,都是常量池中的那一个。 new String每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象。 如果常量池中已经存在’xyz’,那么这里就不会创建”xyz 阅读全文
摘要:
因为非static方法是对象级别的,必须创建一个对象后,才能调用此方法,而static方法调用时不需要创建对象,可以直接调用。 也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,因为没有任何实例对象,所以无法调用非static方法 阅读全文
摘要:
使用final关键字修饰一个引用类型变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 测试代码如下: 阅读全文