This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes initialisation confusion Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "initialisation confusion" Watch "initialisation confusion" New topic

initialisation confusion

Rajat Sarkar

Joined: Sep 07, 2008
Posts: 18
class Dog
private int teeth_number;
private boolean isMad;
private String name;
private int size;

public Dog(String s,boolean ad,int si)

public String showName()
return name;

public int showteeth()
return teeth_number;

public class TestDog
public static void main(String[] args)
Dog mydog=new Dog("Rocky",false,50);
System.out.println("name : "+mydog.showName()+" teeth number : "+mydog.showteeth());

In the Dog's constructor we don't initialise teeth_number.Then how we get the value 0 for it when we create Dog object?
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 37865
All fields have a default value: in the case of numbers 0. This doesn't apply to local variables.
I agree. Here's the link:
subject: initialisation confusion
Similar Threads
Which is best to use in hashcode?
Equals and HasCode
How does Set identify duplicates(by == or equals)
Comparing Maps hashcodes problem??
K&B chapter 7 question 15. Collections.