2道面试题
1、String str1 = "hello ";String str2 = "hello "
请问执行上面的语句有没有创建对象,创建了几个对象。
2、int[] a = new int[4];
int[] b = new int[4];
for(int i=0;i <4;i++)
a[i]+=b[i];
执行上面的语句后请问a[1]的内容是:
A 0 B 未定义
------解决方案--------------------1, Only one object is created. This question has been asked many times.
2, A.
------解决方案--------------------1。0个
2。A
------解决方案--------------------第1题:2个对象
第2题:B
------解决方案--------------------1. 1个Object , 2个reference
2. A
------解决方案--------------------1、String str1 = "hello "; 产生对象和引用
String str2 = "hello "产生引用
2.A
------解决方案--------------------一个对象
A
------解决方案--------------------1、一个对象,两个指向该对象的引用
2、A
------解决方案--------------------1、String str1 = "hello ";String str2 = "hello "
请问执行上面的语句有没有创建对象,创建了几个对象。
==========================
创建了四个对象,其中二个临时对象,然后调用拷贝构造函数对str1,str2进行初始化.
2、int[] a = new int[4];
int[] b = new int[4];
for(int i=0;i <4;i++)
a[i]+=b[i];
执行上面的语句后请问a[1]的内容是:
A 0 B 未定义
======
A
------解决方案--------------------看错了,第一题应该是:1个对象, 2个引用.
------解决方案--------------------题1. 1个Object , 2个reference
题2. A
------解决方案--------------------1、String str1 = "hello "; 产生对象和引用
String str2 = "hello "产生引用
2.A
------解决方案--------------------我是这样理解的。只要有多个引用被赋同一个值,内存不会再开辟空间了。所有引用指向同一对象。
------解决方案--------------------> > String str1 = "hello ";String str2 = "hello "
常量池中一个对象。引用两个。
> > 创建了四个对象,其中二个临时对象,然后调用拷贝构造函数对str1,str2进行初始化.
你说的是C++。
> > 还有第2题,数组没有被初始化赋值过,他会在任何时候都等于0吗?
数组会默认初始化为0。
------解决方案--------------------1、String str1 = "hello ";String str2 = "hello "
请问执行上面的语句有没有创建对象,创建了几个对象。
一个对象,两个常量引用.
boolean flag = str1==str2; //flag is true
2、int[] a = new int[4];
int[] b = new int[4];
for(int i=0;i <4;i++)
a[i]+=b[i];
执行上面的语句后请问a[1]的内容是:
A 0 B 未定义
基本变量初始数组为0。所以 A