If I use implements, I will still have a basic account and checking account class that need to be in the array, so I am guessing I will still need some sort of type casting. I guess, possibly, I could make an abstract superclass for the account and checking classes that implements person, then just use the abstract class as the array. But, I guess, it just seems like a lot more work than it has to be, but I am not too familiar with Java so I have no idea. Either way though, is there typecasting in Java to user defined classes? or only the ones Java includes, such as int, String, double etc...?