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 |
What is the purpose of the runtime class in java programming?
What is difference between arraylist and list in java?
What is an infinite loop in java? Explain with an example.
How many arguments can be passed to main ()?
Explain about the interpreter in java?
Difference between final and effectively final ? Why is effectively final even required ?
What do heavy weight components mean in java programming?
What is a ternary operator in java?
What is the difference between stringbuffer and stringbuilder class?
Can we increase array size dynamically in java?
What is not object oriented programming?
What does exp mean in math?