In earlier articles, we had declared a class, added member method, member field and we created instance of our object to see how to use a java class and looked at constructors. In this article, we will see initialization blocks.
In earlier articles, we had seen constructors to initialize fields of our object by default assignment values. For constructors that are overloaded, we can trigger that constructor for each of our overloaded method of constructors.
Lets look to use of it in a java class.
public class CL_servers
{
String ostype;
public String hostname;
public CL_servers()
{
ostype = "unknown";
hostname = "unknown";
}
public CL_servers(String arg1_hostname)
{
this.hostname = arg1_hostname;
}
public CL_servers(String arg1_osType, String arg2_hostname)
{
this();
this.hostname = arg2_hostname;
}
}
In our above class, we have 3 constructor. One sets initial state value of fields to "unknown" if our object gets created without those fields are given a value. 2nd method is overloading constructor with 1 parameter and 3rd overloaded constructor has 2 parameter.
Lets see it in Java class example.
In above example, when we create an object with both overloaded constructors, we call constructor in that 3rd overloaded one. Note in the output that, object "s2" got null for "osType", while "s3" object got "unknown" for not provided field values.