0

私は Android を初めて使用しますがJavascript、オブジェクト指向プログラミングにはある程度慣れていることを知っています。

この行で:

Resources myResources = getResources();
AnimationDrawable androidAnimation;
androidAnimation = 
  (AnimationDrawable)myResources.getDrawable(R.drawable.frame_by_frame); 
  1. androidAnimation は AnimationDrawable クラスによって初期化される新しいオブジェクトですか?
  2. (AnimationDrawable)myResources で、クラスがオブジェクトの前に括弧で囲まれているこの構文は何ですか?
4

1 に答える 1

2
  1. いいえandroidAnimation、オブジェクトではありません。AnimationDrawableクラスのインスタンスを指す参照です。

    次のobject creationステートメントと割り当て: -

    MyClass obj = new MyClass();
    
    • RHS の値 -new MyClass()を作成しobjectます。
    • LHS の値 -MyClass objそのオブジェクトへの参照を作成します。

  2. これは と呼ばれtypecastingます。これが行われるのreference typeは、そのメソッド呼び出しによって返される が と互換性がない可能性があるためreference type on LHSです。したがって、互換性を持たせるには型キャストが必要です。

これらの概念の詳細については、JLSを参照してください。

于 2012-11-06T08:24:38.167 に答える