程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-對一個list中一個類的困擾

java-對一個list中一個類的困擾

編輯:編程綜合問答
對一個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列表要加載到一個類嗎?有誰知道這個類是調用什麼函數呢?

最佳回答:


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());

         }
     }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved