From computaionalmb at gmail.com Mon Mar 15 21:33:42 2021 From: computaionalmb at gmail.com (I MA) Date: Mon, 15 Mar 2021 22:33:42 +0100 Subject: Question referring to the Java Language Specification (Java SE 15 and below) Message-ID: Hello to everyone, https://docs.oracle.com/javase/specs/jls/se15/html/jls-4.html#jls-4.10.2 states: Given a non-generic type declaration C, the *direct supertypes* of the type C are all of the following: - The direct superclass of C (?8.1.4 ). - The direct superinterfaces of C (?8.1.5 ). - *The type Object, if C is an interface type with no direct superinterfaces* (?9.1.3 ). https://docs.oracle.com/javase/specs/jls/se15/html/jls-9.html#jls-9.6.4.4 states (in the second box): For the interface declaration, consider that while *an interface does not have Object as a supertype*, an interface does have *public* *abstract* members that correspond to the *public* members of *Object* (?9.2 ). This seems contradictory to me so I would like to ask you the following question: *Is java.lang.Object considered the (implicit) supertype of an interface type (that has no direct superinterfaces) or not?* Thanks in advance cmb