Guys do we inherit from Object like from any other class (except of course that we don't have to explicitly state that) or there is some special privileges to Object class and it's not inherited as other classes?
No it's the same. Here the excerpt from JLS 8.1.3:
If the class declaration for any other class has no extends clause, then the class has the class
Object
as its implicit direct superclass.
Of course, Object
itself is a bit special (JLS):
Each class except
Object
is an extension of (that is, a subclass of) a single existing class (§8.1.3) and may implement interfaces (§8.1.4).
Everything is an Object in Java. All of the methods of Object (toString()
, wait()
, etc.) can be called on any instance of any Java class.
Every class in Java IS an Object. They behave like Objects, they can be added to collections of type Object, they can use any method defined in Object.
So, YES, everything (except primitives) inherit from Object in Java.
EDIT:Java takes the approach of "Everything is an Object". It sort of forces Object Oriented programming.
Example:
If class A does not extend another class it inherently extends Object.
If class A extends another class B, it is extends Object as well since B must have extended Object.