ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Programming in Java Netbeans - A Step by Step Tutorial for Beginners: Lesson 28

Updated on October 16, 2019
dwachira profile image

Danson Wachira is a certified Trainer in Computer Science, Information Technology and related studies.

Lesson 28: Java class constructors and setter methods

In the previous lesson, we have made an attempt to limit the scope of the global variables by use of private keyword. By doing so, the variables are no longer accessible from the Examination class.

To solve this problem, we have to use Java class constructors. Revisit Lesson 27 and have a look of what we learnt about and how we created the two Java classes.

Source

Java constructor is a method that is used to set initial values for field variables. When the object is created, Java calls the constructor first.

Any code contained within the constructor method is executed. The call to Java constructor happens automatically when a new object is created.

Constructor methods take the same name as the class name, they do not have return types nor return value but we can pass values to them.

Let us add a Java constructor to the ExamDetails class. The constructor will be called ExamDetails just like the class itself. See the image below:

When we create a constructor, it is a good practice to set default values for the global variables. When the object of ExamDetails class is created, these values will be assigned to the variables. The default values will be replaced by the real values later in the program. See in the image below how we have set default values for the constructor method.

How to access class variables

To change the default values and set new ones, we use a method that sets some different values for them. Because this method basically sets new values other than the default ones it is usually called the setter method. We are going to add a setter method that will set the Student_name. Add the following code into the class as shown in the image below:

From the above image, we have called the setter method StudentName(). All what this method does is to assign a new name value to the Student_name variable and overwrite the default value.

The method sets a value for the Student_name field and returns this field as a value. We have made the setter method simple enough as we are just beginning to understand Java classes otherwise we could have added more functionality to validate input errors such as formatting or case sensitivity.

How to assign values using Java setter methods

Now, let us see if we can assign a new name using the setter method and output on the console. Add the following line of code in the main class i.e. the Examination class.

String dName = student.StudentName("Online Tutor");

System.out.println(dName);

Notice that we are calling the StudentName method using the student object. We are handing over a value of "Online Tutor" to this method which will be the new value for the Student_name field. The Student_name value is then returned and stored in the variable dName.

The complete code for the Examination class should now look like shown below. Run the Examination class and you should be able to see the output.

Now that we have learnt how to create constructor methods, setter methods and how to assign values and access those values, we are going to write more useful methods that actually have more functionality such as decision making and error checking. We shall do all these in the next lesson. See you then.

<< Lesson 27 | Lesson 29 >>

Comments

    0 of 8192 characters used
    Post Comment
    • dwachira profile imageAUTHOR

      Danson Wachira 

      8 years ago from Nairobi, Kenya

      Thanks teaches12345 for stopping by and commenting. I see you being a proxy programmer, always reading these Java hubs and commenting, i really appreaciate it.

    • teaches12345 profile image

      Dianna Mendez 

      8 years ago

      Another winning hub on tecnological programming. Excellent!

    • dwachira profile imageAUTHOR

      Danson Wachira 

      8 years ago from Nairobi, Kenya

      Hi mdc2012,

      Thanks for the positive comment, i do appreciate you stopping here and reading. Enjoy your day.

    • mdc2012 profile image

      Mellissa Jones 

      8 years ago from Australia

      i never have read such informative post in programming. Thanks

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://maven.io/company/pages/privacy

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)