# Introduction ## Interfaces Abstract class used to define object API. Classes can then implement this API. ``` public interface Car { public void turn(blabla); blabla; } ``` ### Polymorphism Most general interface is Object (like golangs interface{} ? ). ## Encapsulations Hide internal details. This can be done with getters and setters. These getters and setters can then be used to to input validation. ## Private vs protected Protected are accessible to subclasses which inherit from it.