+ 2
When will someone knows to use a constructor?
3 odpowiedzi
+ 4
Basically, when you create classes you'll want to create a constructor to provide the variables with default values. As well, you can create a constructor with parameters so you can specify the values you want when instantiating the object. I create some code for you to use as an example to see what it does.
https://code.sololearn.com/cvCIRMvkn57L/#java
class Animal {
private int legs;
private String name;
// default constructor
public Animal(){
this.legs = 4;
this.name = "dog";
}
// constructor with arguments
public Animal(int legs, String name){
this.legs = legs;
this.name = name;
}
// SETTERS
public void setLegs(int legs){
this.legs = legs;
}
public void setName(String name){
this.name = name;
}
// GETTERS
public int getLegs(){
return this.legs;
}
public String getName(){
return this.name;
}
}
public class Program
{
public static void main(String[] args) {
// create object from default constructor
Animal animal1 = new Animal();
// create object from constructor with arguments
Animal animal2 = new Animal(2,"human");
// print the objects name and amount of legs
System.out.println("Animal 1: " + animal1.getName() + " (" + animal1.getLegs() + ")");
System.out.println("Animal 2: " + animal2.getName() + " (" + animal2.getLegs() + ")");
// lets change some of their values with our setters
animal1.setName("cat");
animal2.setName("bull");
animal2.setLegs(4);
// print objects again to observe the changes
System.out.println("Animal 1: " + animal1.getName() + " (" + animal1.getLegs() + ")");
System.out.println("Animal 2: " + animal2.getName() + " (" + animal2.getLegs() + ")");
}
}
+ 2
That's Great, thanks