 Just like we had the comparable interface, we also have the cloneable interface. The cloneable interface does not actually give us any methods to have to overwrite, but what it does give us access to is something known as the clone method. It makes our objects cloneable. The reason why is because you might remember if I, say for example, wanted to clone my cat. If I came in here and said cat garfield equals new cat, and I wanted to explicitly duplicate it. If I came in here and said cat heathcliff equal garfield, what's actually going on is now both of these things have the same memory address. That's a problem because if I make changes to heathcliff, guess what? If I make changes to garfield, then that's not really how the early 90s worked. Instead, what I'd want to do is I'd want to come in here and I would want to say cat garfield equals new cat. Again, simple as that, but when I make heathcliff, when I want to make my copy of garfield, what I'd actually come in here and do is I would come in here the same way I declared as normal heathcliff equals, but instead of just saying garfield, I would say garfield.clone. What that does is it takes everything inside of the garfield, well, the cat class that is unique to garfield, and it now duplicates that. If there's a name variable, that gets duplicated. If there's an age variable, that gets duplicated. If there's a tricks array list that I've made, that gets copied over as well. We can start to build these out. One of the things we have to be careful about is because we're cloning, well, guess what? The laws of nature may dictate that some classes cannot be cloned. We actually have to use a try catch sometimes. You can see what we'll be catching is actually clone not supported exception. We have to do this just because we have to be careful with it. You notice that one of the other things is that when I clone, it's actually going to be returning an object. What that means is we do have to use our polymorphism skills to then turn it into whatever we would want to clone. But as you can imagine, it allows me to no longer worry about duplicating or it allows me to duplicate an object without having to worry about it being the same spot in memory.