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.

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.