亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

類和對象的問題

public class ListTest {

public List courseToSelect;這什么意思 為什么用是成員屬性?

public ListTest(){

this.courseToSelect = new ArrayList(); ?生成名為courseToSelect的對象么 生成的都是courseToSelect的對象?

}

}




正在回答

3 回答

List coursesToSelect = new ArrayList(); ?ArrayList實現了接口List,所以可以這樣定義一個List的對象,就像慕課網以前學過的IPlayGame ip1 = new Smartphone(); 原理是一樣的 List只是規范了ArrayList的一些必須實現的方法而已

1 回復 有任何疑惑可以回復我~

List是接口,public List courseToSelect;就是定義一個名為courseToSelect的接口。由于接口不能被實例化,所以

List?courseToSelect?=?List?A;

是錯的。那怎么實例化我們創建的接口courseToSelect呢?在java中不允許創建接口的實例,但允許定義接口類型的引用變量,通過該引用變量的引用實現了這個接口的類的實例化。簡單來講就是

?public?class?B?implements?A{}
???A?a?=?new?B();?//引用變量a被定義為A接口類型,引用了B實例
???A?a?=?new?A();?//錯誤,接口不允許實例化

在這里就是通過接口List的實現類ArrayList的對象的引用來實現的。

public?ListTest(){
this.courseToSelect?=?new?ArrayList();//通過對List接口的實現類ArrayList類的對象的引用來實現
??????????????????????????????????????//接口courseToSelect的實例化
}


2 回復 有任何疑惑可以回復我~
#1

小腸桿君

更正一下第一行代碼。 List courseToSelect = new List;
2015-05-11 回復 有任何疑惑可以回復我~

courseToSelect 指向的是一個ArrayList對象。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409775    人
  • 解答問題       4546    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

類和對象的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號