ssummeraw 2013-01-15 21: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 00: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条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部