I’ve never seen code like this: Is it the same as new className() ? EDIT If the class is inheritant,which class does it point to? Answer self points to the class in which it is written. So, if your getInstance method is in a class name MyClass, the following line : Will do the same as : Edit : a