in a constructor what happen if u call super and this in
the same class? i know that it is not possible to call
both in the same one? if we call what will happen?
Answers were Sorted based on User's Feedback
Answer / madhu
We can't give both super() and this()in a constructor,
because both of these statements must be the first
statements in constructor. if you give super() as the first
statement then compiler error will come with this() call.
and vice versa.
but you can call the members with both super and this in a
constructor. here is the code.
class Base
{
Base()
{
System.out.println("Base constructor");
}
void m1()
{
System.out.println("m1 of Base");
}
}
class Derived extends Base
{
Derived()
{
super();//it is ok.
this();//raises compiler error
//but we can call the members with super and this
super().m1();//make sure that super()in
line must be marked comment
this().m1();
System.out.println("Derived constructor");
}
void m1()
{
System.out.println("m1 of Derived");
}
public static void main(String[] args)
{
Derived d=new Derived();
}
}
it works out
Is This Answer Correct ? | 9 Yes | 3 No |
Answer / srikant bhat
it wil giv an exception -compiler exception
Is This Answer Correct ? | 9 Yes | 4 No |
Answer / agile being
The question clearly specifies "what happen if u _CALL_
super and this in the same class"
By call, probably, they mean:
this(); /*Invoking the constructor*/
super(); /*Invoking the parent class's constructor*/
I think the right answer is that it will raise a compiler
exception. Such a program will not compile.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / george
super and this will use first line of constructor so we cant
use it...i ll show error
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / raja
It Works fine with out any Exceptions,because in java each
and every class is inherited from the object class indirectly...
public class consex
{
public consex(String a)
{
super();
System.out.println(a);
}
public static void main(String dd[])
{
consex c=new consex("raja");
}
}
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / jyotshna pardhia
In a constructor if we call super and this in
the same class than we will get compile time error saying
that call to this() must be the first statement of the
construtor OR call to super() must be the first statement
of the constructor.So it is not possible to call
both in the same one.
Ex:-1
class Test
{
Test()
{
super();
this();
systm.out.println("hello Jyotshna");
}
}
error:- call to this() must be the first statement of
constructor.
Ex:-2
class Test
{
Test()
{
this();
super();
systm.out.println("hello Jyotshna");
}
}
error:- call to super() must be the first statement of
constructor.
Thanks & Regards
jyotshna
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / atul
class A
{
public A()
{ super();//this is perfect no error
super();//but this call generate RunTimeException
//because inside constructor super called
//must be in first called ok thats it
}
public static void main(String args[])
{
A a1=new A();
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ajay dhingra
It will run fine with no exception here is the example :
public class CheckException extends Thread{
public CheckException(){
super.start();
this.start();
}
@Override
public synchronized void start() {
// TODO Auto-generated method stub
super.start();
}
}
Is This Answer Correct ? | 3 Yes | 7 No |
Explain aggregation in java?
what is the difference between Cpp And Java
What is tcp ip in java?
What is the old name of java?
What is run time polymorphism?
6 Answers eClerx, Elementus Technologies,
Is java an ide?
Is array passed by reference in java?
What is an object in Java and what are its benefits?
Why is it called buffering?
What is ResourceBundle class?
When is update method called?
What is the default size of load factor in hashing based collection?