Although a very unusual approach but the code is object oriented. You put every thing in the constructor and call some private methods and provide the access through static main method. To use your class one actually doesn't have to create an object. Abstraction and Encapsulation is there. But it seems one can't be able to extend your existing code through inheritance since users of your class are unawre of the existance of the methods you provide. And I must say your approach is structural. You need to work on that.