2

このサイトでライブ壁紙を勉強していました。しかし、何かわからないことがあります。

チュートリアルのコードの例には、MyPoint という名前のクラスがあります

public class MyPoint {
  String text;
  private int x;
  private int y;

  public MyPoint(String text, int x, int y) {
    this.text = text;
    this.x = x;
    this.y = y;
  }
} 

その後、彼は MyWallpaperService クラスを作成しました。そのクラス内には、次のようなコード行があります

 private List<MyPoint> circles;
    private Paint paint = new Paint();
    private int width;
    int height;
    private boolean visible = true;
    private int maxNumber;
    private boolean touchEnabled;

public MyWallpaperEngine() {
  SharedPreferences prefs = PreferenceManager
      .getDefaultSharedPreferences(MyWallpaperService.this);
  maxNumber = Integer
      .valueOf(prefs.getString("numberOfCircles", "4"));
  touchEnabled = prefs.getBoolean("touch", false);
  circles = new ArrayList<MyPoint>();
  paint.setAntiAlias(true);
  paint.setColor(Color.WHITE);
  paint.setStyle(Paint.Style.STROKE);
  paint.setStrokeJoin(Paint.Join.ROUND);
  paint.setStrokeWidth(10f);
  handler.post(drawRunner);
}

コードの一部が

private List<MyPoint> circles;

これは私が理解していない部分ですか?ここで何が起こっているのですか?List<MyPoint>円の中を通過するのは何ですか?これを何と呼ぶか​​知っている人はいますか?このリストはクラスを参照していますか? 私のタイトルがわからない原因。ありがとうございました..

4

3 に答える 3

3
private List<MyPoint> circles;

circles が ,ListMyPointであることを示します (つまり、MyPoint 型のオブジェクトを保持します)。

circles = new ArrayList<MyPoint>();

上記の行では、タイプ MyPoint の ArrayList オブジェクトをタイプ List のオブジェクト参照変数に割り当てています。

これは、インターフェイス ポリモーフィズムと呼ばれます。

ListListを実装するConcrete ClassとしてのInterfaceです。ArrayList

例えば:

public class Dog{

   private String dName;
   priavet int dAge;

   public Dog(String dName, String dAge){

      this.dName = dName;
      this.dAge = dAge;


   }



   public String getDName(){

        return this.dName;

   }

   public String getDName(){

        return this.dAge;

   }

}


public class Test{


 public static void main(String[] args){

     List<Dog> dAList = new ArrayList<Dog>();

     dAList.add(new Dog("Tommy",5));
     dAList.add(new Dog("Stark",2));

     for(Dog d : dAList){   // Iterating over the List of Dog objects

           System.out.println(d.getDName());
           System.out.println(d.getDAge());

         }


     }



}
于 2012-08-29T02:49:10.563 に答える
1

List<MyPoint>オブジェクトは、名前が示すように、コードから判断すると、円の中心を表すインスタンスのリストですMyPoint。識別子はprivate、それが定義されているクラスの外部からアクセスできないことを単に示しています。

于 2012-08-29T02:51:38.410 に答える
1

オブジェクトのリストを作成します。MyPoint タイプ オブジェクトのリスト MyPoints は、円の (x,y) 座標を参照します (参照したとおり)

于 2012-08-29T02:48:47.967 に答える