What is the output of the program?
class MyClass{
MyClass(){
System.out.print("one");
}
public void myMethod(){
this();
System.out.print("two");
}
}
public class TestClass{
public static void main(String args[]){
MyClass obj = new MyClass();
obj.myMethod();
}
}
class MyClass{
MyClass(){
System.out.print("one");
}
public void myMethod(){
this();
System.out.print("two");
}
}
public class TestClass{
public static void main(String args[]){
MyClass obj = new MyClass();
obj.myMethod();
}
}A. two one one
B. one one two
C. one Exception
D. Compilation Error
E. None of these
Answer: Option D
Solution (By Examveda Team)
The code will result in a compilation error because in the method myMethod, the use of this() is incorrect.In Java, this() is used to call another constructor, but it can only be used in a constructor, not in a method.
Using this() in myMethod causes a compilation error.
Thus, the program will not compile, and the correct answer is a Compilation Error.
Join The Discussion
Comments (1)
Related Questions on Constructors and Methods
What is a constructor in Java?
A. A special method to create instances of classes
B. A method used for mathematical calculations
C. A method to perform string manipulations
D. An exception handling mechanism
In Java, which method is automatically called when an object is created?
A. start()
B. main()
C. init()
D. constructor()
What is method overloading in Java?
A. Defining multiple methods with the same name in the same class
B. Calling methods from another class
C. Using methods to load data from a file
D. Running methods in parallel threads

In Java, the this() call can only be used within a constructor to call another constructor in the same class. You cannot use this() inside a regular method like myMethod() to invoke a constructor.