• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Constructor Basics Doubt. K &B Pg131

 
sam augurs
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Folks,
According to K&B pg 131 topic Constructor Basics if the class doesn't have no-arg constructor then the following code fails to compile. For eg

public class Construct
{
Construct(int i)
{
System.out.println("Calling Constructor");
}

public static void main(String[] args)
{
Construct c = new Construct(); // won't compile, no matching constructor
}
}

Compiler error will be thrown at Construct c = new Construct();

I just modify the above code and passed var arg in constructor parameter like below code and again complied the below class which compiles and prints "Calling Constructor".

public class Construct
{
Construct(int... i)
{
System.out.println("Calling Constructor");
}

public static void main(String[] args)
{
Construct c = new Construct(); // No matching constructor but class compiles and generates output
}
}

Can anyone let me know why this is happening?
 
Neha Daga
Ranch Hand
Posts: 504
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
because var args means 0 or more arguments.
 
sam augurs
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Neha, appreciate your quick reply which cleared my doubt
 
Neha Daga
Ranch Hand
Posts: 504
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
you are welcome
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic