Object
日本語 | 物 |
英語 | object |
ふりがな | おぶじぇくと |
フリガナ | オブジェクト |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.lang.Object。
すべてのクラスのスーパークラス。
J2SEのクラスも、自分が作ったクラスも、ありとあらゆるクラスは自動的にこのObjectクラスのサブクラスとなる。
どのクラスも必要となるequals()やtoString()といったメソッドを持つ。中身のないクラスでもこういったメソッドが使えるのは、Objectクラスのサブクラスとみなされるからである。
同様に、あらゆるクラスはObjectクラスへアップキャストが可能であり、そこから再びダウンキャストすることも可能。
そのため総称クラスとして使用されることが多い。コレクションの要素の型がObjectとなっているのはこのためである。
ただし、この使用方法は実際の型が誤っているとClassCastException例外が発生するため可能な限り控えるべき。J2SE5.0からはジェネリック型が導入されたためこれからはジェネリック型の使用が勧められる。
また、「Object」にはオブジェクト指向等の用語としての「オブジェクト」としての意味もある。
すべてのクラスのスーパークラス。
J2SEのクラスも、自分が作ったクラスも、ありとあらゆるクラスは自動的にこのObjectクラスのサブクラスとなる。
どのクラスも必要となるequals()やtoString()といったメソッドを持つ。中身のないクラスでもこういったメソッドが使えるのは、Objectクラスのサブクラスとみなされるからである。
同様に、あらゆるクラスはObjectクラスへアップキャストが可能であり、そこから再びダウンキャストすることも可能。
そのため総称クラスとして使用されることが多い。コレクションの要素の型がObjectとなっているのはこのためである。
ただし、この使用方法は実際の型が誤っているとClassCastException例外が発生するため可能な限り控えるべき。J2SE5.0からはジェネリック型が導入されたためこれからはジェネリック型の使用が勧められる。
また、「Object」にはオブジェクト指向等の用語としての「オブジェクト」としての意味もある。
参考サイト
// Sample.java
public class Sample
{
public static void main( String[] args )
{
Integer integer = new Integer( 100 );
System.out.println( integer );
// 100
// Object から Integer へのアップキャスト。
Object object = integer;
// 実際の型は変化しない。
System.out.println( integer );
// 100
System.out.println( object instanceof Integer );
// true
// 再び元の型にダウンキャストすることも可能。
integer = (Integer)object;
System.out.println( integer );
// 100
// 違う型にキャストすると ClassCastException が投げられる。
try
{
String string = (String)object;
}
catch( ClassCastException e )
{
e.printStackTrace();
// java.lang.ClassCastException
// at Sample.main(Sample.java:29)
}
}
}
public class Sample
{
public static void main( String[] args )
{
Integer integer = new Integer( 100 );
System.out.println( integer );
// 100
// Object から Integer へのアップキャスト。
Object object = integer;
// 実際の型は変化しない。
System.out.println( integer );
// 100
System.out.println( object instanceof Integer );
// true
// 再び元の型にダウンキャストすることも可能。
integer = (Integer)object;
System.out.println( integer );
// 100
// 違う型にキャストすると ClassCastException が投げられる。
try
{
String string = (String)object;
}
catch( ClassCastException e )
{
e.printStackTrace();
// java.lang.ClassCastException
// at Sample.main(Sample.java:29)
}
}
}
// Sample.java public class Sample { public static void main( String[] args ) { Integer integer = new Integer( 100 ); System.out.println( integer ); // 100 // Object から Integer へのアップキャスト。 Object object = integer; // 実際の型は変化しない。 System.out.println( integer ); // 100 System.out.println( object instanceof Integer ); // true // 再び元の型にダウンキャストすることも可能。 integer = (Integer)object; System.out.println( integer ); // 100 // 違う型にキャストすると ClassCastException が投げられる。 try { String string = (String)object; } catch( ClassCastException e ) { e.printStackTrace(); // java.lang.ClassCastException // at Sample.main(Sample.java:29) } } }
「みだし」に含まれているページ
「解説」に含まれているページ
- ArrayList
- Boolean
- Byte
- Character
- Class
- clone
- Cloneable
- CloneNotSupportedException
- Double
- equals
- Float
- HashMap
- Integer
- Iterator
- Long
- Object
- ObjectInputStream
- ObjectOutputStream
- PrintStream
- Serializable
- Short
- toString
- アドレス
- オブジェクト
- オーバーロード
- ジェネリッククラス
- ダウンキャスト
- ハッシュコード
- ハッシュ値
- バイト入力ストリーム
- バイト出力ストリーム
- ラッパー
- リフレクション
- 匿名クラス
- 参照
- 型変換
- 木構造
- 浅いコピー
「サンプルプログラムとか」に含まれているページ
- <%= %>
- <T>
- ArrayList
- ArrayStoreException
- ClassCastException
- clone
- Cloneable
- CloneNotSupportedException
- Comparable
- Comparator
- compareTo
- equals
- HashMap
- instanceof
- InvocationTargetException
- JSP式
- null
- Object
- ObjectInputStream
- ObjectOutputStream
- println
- Serializable
- ServletException
- toString
- transient
- void
- アップキャスト
- アドレス
- イントロスペクション
- オブジェクト指向
- オーバーライド
- コンパイルタイムエラー
- ジェネリックメソッド
- ソート
- ダウンキャスト
- ナローイング変換
- ポリモーフィズム
- ラッパー
- リテラル
- リフレクション
- ワイドニング変換
- 例外
- 動的
- 動的束縛
- 匿名クラス
- 参照
- 安定ソート
- 戻り値
- 投げられる
- 拡張for
- 木構造
- 浅いコピー
- 深いコピー
- 直列化
- 降順