ssummeraw 2013-01-16 05:43 采纳率: 10%
浏览 2428
已采纳

对一个list中一个类的困扰

我参考的这个文档学习的livewallpaper。这里我有一些地方不太明白。
教程中的示例代码中有个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会在circles传递什么?这个list列表要加载到一个类吗?有谁知道这个类是调用什么函数呢?

  • 写回答

3条回答 默认 最新

  • Baby_Bonnie 2013-01-16 08:12
    关注
    private List<MyPoint> circles;
    

    申明 circles 是一个 MyPoint 类型的列表。

    circles = new ArrayList<MyPoint>();
    

    上面这一行把 MyPoint 类型的 ArrayList 对象分配给 List 类型中的 Reference 对象变量。
    这被称为 Interface Polymorphism。
    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());
    
             }
         }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!