join the ap-comp-sci-a course

๐ŸŽ–๏ธfiveable certificate upon completion

โฑ๏ธ 3 min read

๐Ÿ“ย ย 

ap comp sci a

ย โ€ขย 

study guide

ย โ€ขย 

Unit 5

5.4 Accessor Methods


written by

Peter Cao

peter cao

published on september 20, 2020

Last updated on September 20, 2020

Introduction to Accessor Methods

For the next couple of topics, we will focus on writing methods. The first type that we will consider are accessor methods. Accessor methods are methods that allow other clients (objects, classes, and users) to access the data of an object. Since we want other clients to access this, accessor methods are made public. There are two types of accessor methods:

  • Getter Methods
  • toString()

Getter methods are used when we want to get a specific piece of data, such as the value of a certain instance variable. This is done by simply using a return statement in the method and setting the return type of the method to the type of the variable being returned.

On the other hand, the toString() method returns the information about an object as a string. This is usually done through string concatenation. As we will see when writing our toString() methods later in the section, we do not need to call the getter methods for specific instance variables. Even though the variables are private, they are in the class, so we can access these variables directly. If we try to print an object in another method, that object's toString() method is automatically called.

Writing Accessor Methods for Our Two Classes

Now, we will write accessor methods for our two classes. Note that we do not write accessor methods for all our instance variables because we want some of them to stay private. This will be used with correctAnswer in the Assignment class and age in the Student class. Note how we use @Override when we use toString(). We will learn about that in Unit 9!

Fiveable

join more students

create an account on fiveable

/** Represents an assignment that a student will complete */ public class Assignment { private boolean correctAnswer; // represents the answer to an assignment, either T/F /** Makes a new assignment with one True/False question and sets the correct answer */ public Assignment(boolean answer) { correctAnswer = answer; } /** Prints details about the assignment */ @Override public String toString() { return "This is an assignment with correct answer " + answer; } } /** Represents a high school student */ public class Student { private int gradeLevel; // a grade between 9-12 private String name; // the students name in the form "FirstName LastName" private int age; // the student's age, must be positive private Assignment assignment; // the current assignment the student is working on /** Makes a new student with grade gradeLev, name fullName, and age ageNum */ public Student(int gradeLev, String fullName, int ageNum) { gradeLevel = gradeLev; name = fullName; age = ageNum; assignment = null; // There is no active assignment at the moment } /** Returns the student's grade level */ public int getGradeLevel() { return gradeLevel; } /** Returns the student's name */ public String getName() { return name; } /** Returns the current assignment the student is working on */ public Assignment returnCurrentAssignment() { return assignment; } /** Prints details about the student */ @Override public String toString() { return name + ", a " + gradeLevel + "th grade high school student"; } }
Fiveable Logo

2550 north lake drive
suite 2
milwaukee, wi 53211

92% of Fiveable students earned a 3 or higher on their 2020 AP Exams.

*apยฎ and advanced placementยฎ are registered trademarks of the college board, which was not involved in the production of, and does not endorse, this product.

ยฉ fiveable 2020 | all rights reserved.