Let’s continue our discussion of Java objects. Remember that bit of syntax that looked like a method call when we create a new Java object? Well, it was! Next we’ll talk about what it does.
Previously when we created instances of our new object class
es, we used new
followed by something that looked like a method call to a function accepting no parameters:
It turns out that this is exactly what follows new
.
Usually when we create a new object we want to set the fields on it right away.
Rather than doing this in the fairly clumsy way shown above, Java provides a better alternative.
Let’s look at it together!
There are a few things to keep in mind about constructors.
First, they must have the same name as the class
and cannot declare a return value:
You can, however, use return
in a constructor if you want to skip some parts of the initialization in certain cases:
Finally, we don’t need to declare a constructor. If we don’t, Java will include a default constructor that takes no arguments. Let’s see how that works:
Create a class called Simple
that stores a single int
value using a field named value
.
Simple should implement a function called setValue
that accepts a single int
and changes the saved
value. (It should not return a value.)
Simple should also implement a function called getValue
that returns the saved value.
Note that you should include public
before your class definition for this problem.
We've provided starter code that does that.
If that doesn't fully make sense yet, don't worry.
It will soon.
Just like with other methods, class
es can provide multiple constructors as long as they accept different parameters:
Create a class called Simple
that stores a single String
value using a field named data
.
Simple should implement a function called setData
that accepts a single String
and changes the saved
value. (It should not return a value.)
Simple should also implement a function called getData
that returns the saved value.
Note that you should include public
before your class definition for this problem.
We've provided starter code that does that.
If that doesn't fully make sense yet, don't worry.
It will soon.
Create a class called Location
that stores two int
values representing the location of a place on the surface
of the Earth.
Location
should implement a function called setX
that accepts a single int
and changes the saved x
value. (It should not return a value.)
Simple should also implement a function called getX
that returns the saved x
value.
Complete the analogous methods for y
.
Note that you should include public
before your class definition for this problem.
We've provided starter code that does that.
If that doesn't fully make sense yet, don't worry.
It will soon.
Need more practice? Head over to the practice page.