A new era dawns.
We leave the familiar world of primitive types and
Strings behind and strike out to new horizons.
This lesson begins our discussion of Java objects.
Objects represent both a significant conceptual step forward, and dramatically improve our ability to work with data.
So let’s get started!
Java is an object-oriented language. What does that mean, exactly?
Wikipedia defines an object as:
In the class-based object-oriented programming paradigm, “object” refers to a particular instance of a class where the object can be a combination of variables, functions, and data structures.
Let’s examine this definition together.
A class definines how an entire group of objects behaves.
For example, we might say that a person is a class of things where each has a name and an age.
Let’s look at our first
class definition together:
Defining a class allows us to create instances of that class. Sometimes we use the term object and instance interchangeably, defining an object as an instance of a class.
If it helps understand the relationship between class and instance, here are some examples of this relationship between real-world things:
learncs.onlinestudent (class) v. you (instance)
Now, let’s continue the example above using our
Person class and create some instances.
To create a new instance of a class we use the
For now the syntax of
new will seem somewhat mysterious.
Why does it look like a function call?
That will make more sense soon.
But for now simply follow this template to create new class instances.
Objects allow us to create new Java types. These new types are in some ways just like the types that we’ve already been working with:
But Java classes allow us to include any mixture of different types of data by declaring one or more fields:
An important note: not everything about objects is going to make sense to you right away! That’s OK. We’re going to keep practicing, and things will become a bit more clear every day.
Write a method
getExampleValue that, given a passed instance of an
Example, returns that
property, which is an
Example class looks something like this:
You should also
assert that the passed
Example is not
There was a theft of research hardware on campus last night. Based on eyewitness accounts, they figured out the suspect went through the Siebel Center for Computer Science, the Digital Computing Laboratory, and the Illini Union. Luckily, you have the lists of the people who entered each building from their I-Card ID swipes.
You've been given three non-
Set<String>s that represent the lists of people that entered each building
Your job is to create a function called
calculateSuspects that when given these parameters returns the list of
suspects as a
This list should consist of all the names of all people who are included in at least two of the
You may find reading the documentation of
addAll (union) and
retainAll (intersection) helpful.
You may assume that no inputs will be
null, however, given
Sets may be empty.
Note that you do not need to
HashSet, since they are already available.
Need more practice? Head over to the practice page.