Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

interview doubt

 
Ayub ali khan
Ranch Hand
Posts: 394
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I tried the below code. The only thing I found was with the exception not being declared in the sub class.

I would appreciate if any one could help me understand whats wrong with the below code:

class Xx{

Xx() throws Exception{

System.out.println("Hello");

}
public static void main(String args[]){

new yy();

}

}

class Yy extends Xx{

}

------------------------------

When I modified Yy class as below I did not find any errors...

class Yy extends Xx{

Yy() throws Exception{

}

}

I appreciate all your comments...

Thank you.

Ayub.
 
Nikhil Jain
Ranch Hand
Posts: 389
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you call a constructor or a method that throws an exception, you must either
1. put the function/constructor call in try/catch block
2. or declare the method with throws...

In your example, the compiler automatically puts super() as the first statement, so its calling the super class constructor. So you should either use try/catch in sub class constructor or you should declare the constructor with throws...
 
Ayub ali khan
Ranch Hand
Posts: 394
2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Shashank,


Thank you for answering my question. I understood the concept you told.

Thank you!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic