This course will be retired on July 14, 2025.
Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Interfaces in Java!
You have completed Interfaces in Java!
Preview
In this video we'll set the stage for interfaces and learn about TODOs!
Related Links
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
Now that we know what interfaces are,
0:00
let's look at an example to
see when we should use them.
0:02
Let's start by creating a new project.
0:05
Then let's click Next.
0:09
Select the template, hit Next again and
for the project name,
0:11
let's just name it interfaces and
click Finish.
0:17
Next, now I'm gonna put this
into full screen mode so
0:25
it's a little easier to see.
0:28
Getting back to the example,
let's pretend we're part of a team
0:32
trying to create a game where the player
can chat with all the people in the game.
0:35
To do this we'll need a person class and
it'll need a chat method.
0:40
In the project pane let's
click into our project.
0:44
Clink into the source folder and
right-click on our package.
0:50
Then let's pick New> Java Class,
and name it person
0:56
Inside the person class,
let's make sure every person
1:03
has a name by adding a string
property called name, string name;.
1:08
And then let's add a constructor
which sets our name property.
1:15
So Person, and we'll need to
take in a string called name and
1:18
inside, we'll set this .name=name.
1:25
Finally at the bottom,
let's declare the chat function.
1:29
Let's make it return a string,
1:33
name it chat And
1:37
inside the function,
let's add a return and
1:42
say, Hi, I'm a person.
1:48
From here we could build
out a whole host of people.
1:53
But let's just focus on one,
the shopkeeper.
1:56
Over in the project pane
let's make another new class.
2:00
And name it shop keeper.
2:06
Then let's make this class extend
from person, so extends person,
2:12
and use Alt+Enter to add the constructor.
2:17
Below the constructor, let's use
Ctrl+O to override the chat method.
2:21
And instead of just calling
the person's chat method,
2:28
let's return Hi, I'm a ShopKeeper.
2:32
In addition to being a person,
2:38
the shopkeeper also has
a shop to take care of.
2:40
But since we're keeping things simple,
let's ignore most of the complexities of
2:43
running a shop and just give the shop
keeper one function for selling goods.
2:47
Let's add some space at the bottom and
2:52
type void sellGoods and
just leave it as an empty function.
2:54
If this were a real project, you might
want to leave yourself a reminder to
3:02
come back and implement this method.
3:06
In IntelliJ, a good way to leave
yourself notes like that is with a todo.
3:08
To use a todo, just add a comment and
type todo as one word.
3:13
It doesn't matter what case you use, so
feel free to type it however you'd like.
3:18
And if you'd like to add a message
to the todo, just add a space or
3:24
a colon, and then add your message.
3:28
For this one,
I'll say Implement the sellGoods method.
3:32
TODOs are managed down
here in the TODO panel.
3:40
Here you can see all of your TODOs and
quickly jump between them.
3:44
If you don't see the TODO panel,
just click down here to hide or
3:48
show the border options.
3:52
Now that we've got our ShopKeeper class,
3:56
it's not hard to imagine how we
would do this with other classes.
3:57
We might have a Doctor class
that says something corny and
4:01
has various methods for
healing the player.
4:04
Or maybe a bartender class that says
something friendly and serves drinks.
4:07
With the person class,
4:12
we've got a lot of flexibility in
creating new types of talking people.
4:13
But one thing we can't do
is create a talking teacup.
4:18
We can't even create a talking dog.
4:22
I know, it's a bit silly but
it's also realistic.
4:25
Requirements change frequently to
include things we never expected and
4:29
it's our responsibility to
handle those changes gracefully.
4:34
To that end why don't try
making a teacup class
4:38
that's capable of
chatting with the player?
4:40
If you need any help getting started,
4:43
start by creating a new interface
to hold the chat method.
4:45
I'll show you how I solve
it in the next video.
4:48
Good luck.
4:51
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up