Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Dan's q1 on constructor from single topic

 
Barkat Mardhani
Ranch Hand
Posts: 787
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Which of the following modifiers can be applied to a constructor?
a. abstract
b. final
c. private
d. protected
e. public
f. static
g. synchronized
h. transient
i. volatile
j. native
k. strictfp
l. None of the above.
The answer exclude synchronized. However following code compiles and works. As question is saying which modifiers CAN be applied, it should be part of answer list.
 
Corey McGlone
Ranch Hand
Posts: 3271
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Barkat Mardhani:

Not so fast there, partner! That isn't even a constructor you've declared there! Once you provide a return type, you no longer have a constructor for class B, you have a method within class B named B.
If you were to remove the return type, you'd have a constructor and the compiler will give you an error.
Just to back that up, let's refer to the JLS, §8.8.3 Constructor Modifiers:

Unlike methods, a constructor cannot be abstract, static, final, native, strictfp, or synchronized.
 
Barkat Mardhani
Ranch Hand
Posts: 787
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Corey. That was quick reply
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic