 Continuing on that same idea as an abstract class, we also have what's known as an interface. An interface is not a class, not a class, but it is class-like. What does that even mean? Interfaces are more like, you can think of it this way. A class is like a noun, you know, dog, cat, tiger, a human. Those are more noun concepts, but something like an interface. An interface is more sort of a quality than so much a noun. It's going to sound noun-ish, but it's not going to be noun-ish. It's more a quality of a noun. We can think about it again in the same context. If we look at these mammals for a second, which ones would you prefer to have as a pet? Now, half of you said tiger or sloth, but would you like to have a sheep as a pet? How many of you would really like to have a sheep as a pet? You can see that really in the real life spectrum of things, you know, no, we don't keep humans as pets anymore, slavery was abolished, no, I don't have a pet tiger. You're not going to go to the, you're not going to go to PetSmart to get a tiger, no, I don't have pet sheep, I'm not on a farm, they're not really, those are more farm animals anyway, but okay, all right, a cat, yeah, I would make a cat a pet. A monkey, yeah, no, you know, a lot of litigations there, a dog, yes, I would make a dog. Sloth, maybe, but once again, no brares, so in our program, no. Panda, no, unfortunately, you know, we're trying to make sure that they just don't go extinct. But these two guys, again, I have dogs and cats. Well, dogs and cats are sort of what we would consider pets. And what does it mean to be a pet? Well, it means that we, as humans, can pet the dog, pet the cat, and then train it, give them tricks, you know, a dog can learn how to fetch. You can actually teach a cat how to fetch, which is kind of cool. But these are things that I'm going to say in my program that are only qualities to sort of pets. So how do I start to flesh this out? Well, here's where things kind of differ a little bit. Notice first this. Normally what we've been writing every time we start a program is public class. Or abstract class, dot, dot, dot, whatever our class name is. We are not in a class. Again, interfaces are not a class. They are a class like. What that means is that we are not going to make a class. We are actually going to be making an interface. And when we make an interface, we give it an interface name. But the thing about interfaces is all the methods are public abstract. All of the class variables are public static final. So I can't change it. I can't do anything about it. Once again, you can think of it like interfaces are like blueprints. Blueprints to these qualities. I know I can train someone, but I don't know sort of how to train someone is where we're kind of getting with that. Now something to take note of with that is because inside of an interface, everything is a public static final. And everything is a public abstract. What that means is I actually don't have to specify those words. I can actually do something like this. I can remove the public static final. I can remove the public abstract because those are the defaults of an interface. So because it's default, it will not change unless I specify it. But realistically, I simply do not need to change it.