*
The moose likes Beginning Java and the fly likes a beginner wanna knows something about this( ) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "a beginner wanna knows something about this( )" Watch "a beginner wanna knows something about this( )" New topic
Author

a beginner wanna knows something about this( )

Fahad Golra
Greenhorn

Joined: Apr 21, 2002
Posts: 2
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


I was a born genious, but java ruined me.
Roy Ben Ami
Ranch Hand

Joined: Jan 13, 2002
Posts: 732
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 ]
Khurram Ajmeri
Greenhorn

Joined: Nov 24, 2001
Posts: 6
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.
Jackie Wang
Ranch Hand

Joined: Apr 18, 2002
Posts: 315
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
Jackie Wang
Ranch Hand

Joined: Apr 18, 2002
Posts: 315
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
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9046
    
  10
"this" is for the same class.
"super" is for the class that the "this" class extends (inherits from), in other words, its "super" class.


JavaBeginnersFaq
"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
Jessica Sant
Sheriff

Joined: Oct 17, 2001
Posts: 4313

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.
Jackie Wang
Ranch Hand

Joined: Apr 18, 2002
Posts: 315
thanks jessica and Marilyn for the prompt reply.
I really appreciated that.
Any simple example which can demonstrate the "super()"? Thanks so much
Dirk Schreckmann
Sheriff

Joined: Dec 10, 2001
Posts: 7023


[How To Ask Good Questions] [JavaRanch FAQ Wiki] [JavaRanch Radio]
Jessica Sant
Sheriff

Joined: Oct 17, 2001
Posts: 4313

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 )
Jackie Wang
Ranch Hand

Joined: Apr 18, 2002
Posts: 315
thanks dirk and jessica. I got it now.
really appreciated that
Fahad Golra
Greenhorn

Joined: Apr 21, 2002
Posts: 2
Thank u all for making me understand this topic. Thank u all again
Dirk Schreckmann
Sheriff

Joined: Dec 10, 2001
Posts: 7023
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
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: a beginner wanna knows something about this( )