

3.4.2 Class AccountTest: Initializing Account Objects When They’re Created Although these parameters have the same identifier ( name), the parameter in line 9 is a local variable of the constructor that’s not visible to method setName, and the one in line 15 is a local variable of setName that’s not visible to the constructor. 3.5, the constructor and method setName both have a parameter called name. Recall from Section 3.2.1 that method parameters are local variables. Parameter name of Class Account’s Constructor and Method setName We’ll explain this in Chapter 10, Object-Oriented Programming: Polymorphism and Interfaces. The constructor will then assign name to instance variable name in line 11.Įven though it’s possible to do so, do not call methods from constructors. 3.6), you’ll pass a person’s name to the constructor, which will receive that name in the parameter name. When you create a new Account object (as you’ll see in Fig. Line 9 indicates that the constructor has a String parameter called name. A constructor’s parameter list specifies that the constructor requires one or more pieces of data to perform its task. A constructor must have the same name as the class. Figure 3.5 contains a modified Account class with such a constructor. The preceding statement requires that the class provide a constructor that takes only a String parameter. In this case, the String argument "Jane Green" is passed to the Account object’s constructor and used to initialize the name instance variable. 3.6:Īccount account1 = new Account( "Jane Green") For example, you might want to specify a name for an Account object when the object is created, as in line 10 of Fig. When you declare a class, you can provide your own constructor to specify custom initialization for objects of your class. 4 5 public class AccountTestĩ // create two Account objects 10 Account account1 = new Account(, "Jane Green") 11 Account account2 = new Account( "John Blue") 12 13 // display initial value of name for each Account 14 ( "account1 name is: %s%n", account1.getName()) ġ5 ( "account2 name is: %s%n", account2.getName()) ģ.4.1 Declaring an Account Constructor for Custom Object Initialization 3.6: AccountTest.java 2 // Using the Account constructor to initialize the name instance 3 // variable at the time each Account object is created. 3.6 | Using the Account constructor to initialize the name instance variable at the time each Account object is created. 3 4 public class AccountĦ private String name // instance variable 7 8 // constructor initializes name with parameter name 9 public Account(String name) // constructor name is class name 10 // end class Account Fig. 3.5: Account.java 2 // Account class with a constructor that initializes the name. 3.5 | Account class with a constructor that initializes the name. 3.5) with a constructor that can receive a name and use it to initialize instance variable name when an Account object is created (Fig. The next example enhances class Account (Fig. Java requires a constructor call for every object that’s created, so this is the ideal point to initialize an object’s instance variables. But what if you want to provide a name when you create an Account object?Įach class you declare can optionally provide a constructor with parameters that can be used to initialize an object of a class when the object is created. 3.1) is created, its String instance variable name is initialized to null by default. O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.Learn More Buy 3.4 Account Class: Initializing Objects with ConstructorsĪs mentioned in Section 3.2, when an object of class Account (Fig. Get Java For Dummies Quick Reference now with the O’Reilly learning platform. Suppose that you have a class named Actor that. For more information, see throw Statement.Ī constructor allows you to provide initial values for class fields when you create the object. Notice also that a constructor can throw exceptions if it encounters situations that it can’t recover from.
#Java this constructor code#
You code the parameter list the same way that you code it for a method. ClassName must be the same as the name of the class that contains the constructor. The public keyword indicates that other classes can access the constructor. Here’s the basic format for coding a constructor: Unlike methods, constructors are not considered members of a class.Ī constructor is called automatically when a new instance of an object is created. The name of the constructor must be the same as the name of the class. Here are the key differences between a constructor and a method:Ī constructor doesn’t have a return type. A constructor is a block of code similar to a method that’s called when an instance of an object is created.
