Javaでデフォルトですべてのクラスによって拡張されるデフォルトクラスはありますか?
例: 次のような単純なクラスがある場合:
Class A {
String a;
}
このクラスはデフォルトでクラスを拡張していますか?
Javaでデフォルトですべてのクラスによって拡張されるデフォルトクラスはありますか?
例: 次のような単純なクラスがある場合:
Class A {
String a;
}
このクラスはデフォルトでクラスを拡張していますか?
java.lang.Object
class はすべてのクラスのスーパークラスです。
クラス オブジェクトは、クラス階層のルートです。すべてのクラスには、スーパークラスとして Object があります。配列を含むすべてのオブジェクトは、このクラスのメソッドを実装します。
あなたはそれをテストすることができます:
A a = new A();
if(a instanceof Object){
System.out.println("Object is superclass of all classes");
}
Java では、(int、boolean、double などの単純な古いデータ型を除く) すべてがから暗黙的に派生しjava.lang.Object
ます。
特に、このクラスには、スレッド同期で使用されるlock()
やなどの便利な関数が含まれています。notify()
完全なリストについては、http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html を参照してください。
java.lang.Object は、すべてのクラスのスーパー クラスです。すべての Java 提供クラスまたは自分で作成したクラスはすべて、デフォルトで Object クラスのサブクラスです。
Object
はい、クラスを拡張しています。
オブジェクトは、すべての Java クラスのルート クラスです。
「Javaプラットフォームのすべてのクラスはオブジェクトの子孫です」: http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
クラスオブジェクトは、クラス階層のルートです。すべてのクラスには、スーパークラスとして Object があります。
はい、すべてのクラスはデフォルトで Java の Object クラスを拡張します。それはあなたが望んでいたものですか?
はい、伸びていjava.lang.Object
ます。