![]() Normally, constructors are declared public-later in the book we’ll explain when to use private constructors. Constructors Cannot Return ValuesĪn important difference between constructors and methods is that constructors cannot return values, so they cannot specify a return type (not even void). The output shows different names, confirming that each Account maintains its own copy of instance variable name. Lines 14–15 use each object’s getName method to obtain the names and show that they were indeed initialized when the objects were created. Line 11 repeats this process, passing the argument "John Blue" to initialize the name for account2. The class instance creation expression in line 10 returns a reference to the new object, which is assigned to the variable account1. The call is indicated by the parentheses after the class name, which contain the argument "Jane Green" that’s used to initialize the new object’s name. ![]() Keyword new requests memory from the system to store the Account object, then implicitly calls the class’s constructor to initialize the object. Line 10 creates and initializes the Account object account1. 3.6) initializes two Account objects using the constructor. 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. Learn More Buy 3.4 Account Class: Initializing Objects with ConstructorsĪs mentioned in Section 3.2, when an object of class Account (Fig.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |