Forums Register Login

a beginner wanna knows something about this( )

+Pie Number of slices to send: Send
I have started java a month ago. And I have a little concept of some basic C++. Now while studying classes I came across a method this()whose logic, I don't seem to pick up. Can anybody please
+Pie Number of slices to send: Send
it makes sense since you come from c++ you wouldnt get that method.
java uses the this() method so u can call one constructor from another constructor.
you cant do that in c++ but it looks for exmaple like this:

you get the idea?
you can call one constructor from another in the same class to save some code writing (if the constrcutors have a simliar code to be written).
this() without anything as parameter calls the empty constructor in the class.
just as a last note. this() must be the first line in the constructor you are using and you can't have super() with it.
[ April 29, 2002: Message edited by: Roy Ben Ami ]
[ April 29, 2002: Message edited by: Roy Ben Ami ]
+Pie Number of slices to send: Send
hello there
this() is used for constructor chaining
for example..if u want to call a single argument constructor from within a zero argument constructor.
class Tiger{
Tiger(){
this(6); //must be the first line of a
} //constructor!

Tiger(int i){
System.out.println("Tiger");
}
}

if u are still confuse please read the book.
+Pie Number of slices to send: Send
Can anyone help me about and give me a short example about the difference between this() and super? thanks so much! =)
coz I am stil lconfused after reading the teh contructor call for this and super
+Pie Number of slices to send: Send
I mean i still don't understand after reading some notes about the contructor call, it make me more confused

Originally posted by jackie Wang:

coz I am stil lconfused after reading the teh contructor call for this and super

 
+Pie Number of slices to send: Send
"this" is for the same class.
"super" is for the class that the "this" class extends (inherits from), in other words, its "super" class.
+Pie Number of slices to send: Send
the one major rule with this() and super() is that it has to be the FIRST statement in the constructor definition (if you're using it).
-- so because of that -- you can't use both this() and super() in the same definition.
+Pie Number of slices to send: Send
thanks jessica and Marilyn for the prompt reply.
I really appreciated that.
Any simple example which can demonstrate the "super()"? Thanks so much
+Pie Number of slices to send: Send
+Pie Number of slices to send: Send
try running this blip of code -- with the println statements you'll be able to see the flow of operation:

Output:
Instantiate MySuper( "blah" );
MySuper() default constructor
MySuper( blah )
Instantiate MySub( "stuff" )
MySuper() default constructor
MySuper( stuff )
MySub( stuff )
+Pie Number of slices to send: Send
thanks dirk and jessica. I got it now.
really appreciated that
+Pie Number of slices to send: Send
Thank u all for making me understand this topic. Thank u all again
+Pie Number of slices to send: Send
As if [fill in some saying], here's a link to part of Sun's java tutorial that discusses this and super a bit: http://java.sun.com/docs/books/tutorial/java/javaOO/methodbody.html
Men call me Jim. Women look past me to this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 906 times.
Similar Threads
Rueben or Clay??
Any chance that you will have a While X'mas?
Labels with Name in Javaranch Forum Site
Need IT Job in Canada
unable to access jsp pages
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 02:50:32.