Can you call a constructor within a constructor?
Answers were Sorted based on User's Feedback
Answer / ranganathkini
Yes once constructor can call another constructor by using
the this() statement. Example:
class Account {
private double balance;
// 1st Constructor
public Account( double initBalance ) {
balance = initBalance;
}
// 2nd Constructor
public Account() {
this( 0.0 ); // call the 1st constructor
}
}
| Is This Answer Correct ? | 8 Yes | 1 No |
Answer / nikhlesh gupta datia(m.p.)
We can call one of base class constructor inside derive class constructor by using predefine variable "super()" such as super(a), super(a,b) and so on.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / qim2010
Yes, by using this() syntax. E.g.
public Pet(int id) {
this.id = id; // “this” means this object
}
public Pet (int id, String type) {
this(id); // calls constructor public Pet(int id)
this.type = type; // ”this” means this object
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / harpreet
And to call the constructor of some other class, use super()
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / jinendra pandey
when i am tring above code getting following error
Can we call a constructor within a constructor?
Error:------------>
object.cpp: In constructor Account::Account():
object.cpp:15: error: this cannot be used as a function
#include<iostream.h>
class Account {
private:
double balance;
// 1st Constructor
public:
Account( double initBalance ) {
balance = initBalance;
}
// 2nd Constructor
public:
Account() {
this( 0.0 ); // call the 1st constructor
}
};
int main()
{
Account a;
return 0;
}
Error:------------>
object.cpp: In constructor Account::Account():
object.cpp:15: error: this cannot be used as a function
| Is This Answer Correct ? | 1 Yes | 2 No |
Answer / ravikiran(aptech mumbai)
yes we can call by make use of this()
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / amit kumar gupta
yes we can call by super() or this();
public abstract class Class1{
public Class1(){
System.out.println("Class1");
}
}
public class Class2 extends Class1{
public Class2(String Name){
System.out.println("Name = " + Name);
}
public Class2(){
this("AMIT"); // use only one this or super
super();
}
}
| Is This Answer Correct ? | 1 Yes | 2 No |
Program to find greatest prime number in n numbers?
How to split a string in java?
In a container there are 5 components. I want to display all the component names, how will you do that?
Difference between class#getinstance() and new operator ?
What are the advantages of packages in java?
What is ResourceBundle class?
What is java used for?
What invokes a thread's run() method in java programming?
What is static import in java?
Why spring singleton is not thread safe?
What is the Vector class?
what are the boundaries of jdk and jre?