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;

圆形的状态是 aList类型MyPoint(即它将保存MyPoint 类型的对象)。

circles = new ArrayList<MyPoint>();

现在在上面的行中,您将 MyPoint 类型的 ArrayList 对象分配给 List 类型的对象引用变量。

这称为接口多态。

List是一个接口,其中作为实现列表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

它创建了一个对象列表。在您的情况下,MyPoint 类型对象 MyPoints 的列表是指圆的 (x,y) 坐标(如您所指)

于 2012-08-29T02:48:47.967 回答
1

List<MyPoint>顾名思义,该对象是一个MyPoint实例列表,从代码来看,它代表了您的圈子的中心。private标识符只是表明它不能从定义它的类的外部访问。

于 2012-08-29T02:51:38.410 回答