Harry Chou

Greenhorn
+ Follow
since Jan 31, 2001
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Harry Chou

In Sahir Shah's Mock Exam
http://www.geocities.com/sahirshah/applets/mocktest.html
III
1. Consider the following code
public class Outer{
class Inner{}
public void methodA()
{
/////
}
}
What are the valid ways to create an instance of the inner class from methodA ?
1. Inner i = new Inner();
2. Outer.Inner i = new Inner();
3. Outer.Inner i = new Outer.Inner();
4. Inner i = new Outer.Inner();
5. Outer.Inner i = new Outer().new Inner();
6 Object o = new Outer().new Inner();
The answer given is 1, 2, 5, 6
but when run in JDK, all are valid statement to create an instance of inner class.
My code is like this:
class Outer
{
class Inner {int a = 2;}

public void aMethod(){
Inner i = new Inner(); // this.Inner i = new this.Inner()
System.err.println(i.a);
Outer.Inner i2 = new Inner();
System.err.println(i2.a);
Outer.Inner i3 = new Outer.Inner();
System.err.println(i3.a);
Inner i4 = new Outer.Inner();
System.err.println(i4.a);

Outer.Inner i5 = new Outer().new Inner();
System.err.println(i5.a);

Object o = new Outer().new Inner();
System.err.println(((Inner) o).a);
}
public static void main(String[] args){
Outer o = new Outer();
o.aMethod();
}
}
Can somebody give me some clue?
24 years ago
Hi,
Rob is right.
when passing to another method the v is actually a new reference that point to the same object, but when
ValHold vh = new ValHold();
v = vh;
this has forced the second v to point to other stuff.
so, second v has lost it's connection to the object referred by first v.
Harry
24 years ago
according to Java API
String(String value)
Initializes a newly created String object so that it represents the same sequence of characters as the argument; in other words, the newly created string is a copy of the argument string.
Doesn't it means the new String(arg[0]) has created a new String object?
I think the answer is still d:
24 years ago