I've been programming for a while, but I'm still an amateur to most of you. I feel I have yet to have grasped the concept of object oriented programming and how to go about doing it. Maybe this topic will shed light on people who are interested as much as I am and feel they are in the same situation. I understand there are tutorials, but I feel a little one to one helps me learn best, so here's surely a basic example: If I wanted to create a new object like Bukkit created Player, but maybe for example I wanted players to have a list of keys then I'd create a new class(I think), say MyPlayer and it'd have some methods in it like listKeys() and addKey(String key). I'd think somewhere I'd have to create the player somewhere with MyPlayer example = new MyPlayer(); right? Then, I could add a key with example.addKey("blahblahblah"); , but how would I call listKeys for that specific player in another method. Some example code would be helpful, also don't I need a main method for when I'm creating the MyPlayer? Sorry if this sounds dumb to all of you, but we all have to start somewhere and I feel this is the best way for me. Thanks for understanding.