Answer Posted / ranganathkini
The 'this' keyword in Java has the following uses:
1. To resolve ambiguity where a local variable hides a class
member. Example:
class MyClass {
private int value;
public MyClass( int value ) {
// local variable 'value' hides class field 'value'
this.value = value;
}
}
2. To invoke one constructor overload from another. Example:
class MyClass {
private int value;
public MyClass( int value ) {
this.value = value;
}
public MyClass() {
// invoke MyClass( int value )
this( 0 );
}
}
3. To pass the current object instance as a parameter to a
method. Example:
class MyClass {
private int value;
public MyClass( int value ) {
this.value = value;
// pass current instance as a parameter to the method
displayValue( this );
}
public static void displayValue( MyClass mc ) {
System.out.println( "Value = " + mc.value );
}
}
4. To invoke an outer class's non-static method from a
non-static inner class. Example:
class MyOuterClass {
class MyInnerClass {
public MyInnerClass() {
// call the outer class's method
MyOuterClass.this.displayText( "Inner instance
created" );
}
}
public void displayText( String text ) {
System.out.println( text );
}
}
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
Does A Class Inherit The Constructors Of Its Superclass?
hi am an engineering student and my next plan is for ms in either in us or australia i got my passport but i dont know anything bout visa can u give brief idea 1)How to get prepared for visa and 2)How to apply for top universities and 3)How to pay the fee and so on These all are basic questions plz give me a clear idea
What is passing by reference in java?
What is lambda in java?
What is data structure in java?
What are the library functions in java?
What is the purpose of the enableevents() method?
What is void in java?
How many types of operators are there?
What is the need of transient variables in Java ?
What is the core java?
Describe what a thread-local variable is in java?
What are the differences between Java 1.0 and Java 2.0?
Compare overloading and overriding?
What programs use java?