這里要是不用public 使用封裝get和set的話后面怎么調(diào)用啊
package?com.imooc.collection; /* ?*?課程類 ?*? ?*?*/ public?class?Course?{ ? private?String?id;???????????????//其實(shí)在實(shí)際開發(fā)中?應(yīng)該把屬性私有化?通過(guò)getter或者Setter來(lái)獲取或者調(diào)用 private?String?name;??????????????????//給兩個(gè)屬性?一個(gè)id屬性?一個(gè)name屬性 public?Course(String?id,String?name){ this.id?=?id; this.name?=?name; } public?Course(){ } public?String?getId()?{ return?id; } public?void?setId(String?id)?{ this.id?=?id; } public?String?getName()?{ return?name; } public?void?setName(String?name)?{ this.name?=?name; } }
package?com.imooc.collection; import?java.util.ArrayList; import?java.util.List; public?class?TestGeneric?{ /* ?*?帶有泛型——Course,的List類型屬性 ?*?*/ public?List<Course>?courses;???? public?TestGeneric(){???????//構(gòu)造器 this.courses?=?new?ArrayList<Course>()?;????//這里是要寫出泛型的 } /* ?*?測(cè)試添加的方法 ?*? ?*?*/ public?void?testAdd(){ Course?cr1?=?new?Course("1","大學(xué)語(yǔ)文"); courses.add(cr1); //泛型集合中,不能添加泛型規(guī)定的類型及其子類型以外的對(duì)象,否則會(huì)報(bào)錯(cuò) //courses.add("能否添加一些奇怪的東西呢???"); Course?cr2?=?new?Course("2","java基礎(chǔ)"); courses.add(cr2); } /* ?*?測(cè)試循環(huán)遍歷的方法 ?*? ?*?*/ public?void?testForEach(){ for?(Course?cr:courses){????//因?yàn)榉盒投x了?所以和ListTest.java中寫的不一樣 System.out.println(cr.id?+?":"?+?cr.name); } } /* ?*?泛型集合可以添加泛型的子類型的對(duì)象實(shí)例 ?*? ?*?*/ public?void?testChild(){ ChildCourse?ccr?=?new?ChildCourse(); ccr.id=?"3"; ccr.name?=?"我是子對(duì)象的實(shí)例~~"; courses.add(ccr); } /* ?*?泛型不能使用基本類型 ?*? ?*?*/ public?void?testBasicType(){ List<Integer>?list=new?ArrayList<Integer>?(); list.add(1); System.out.println("基本類型必須使用包裝類作為泛型!"?+?list.get(0)); } public?static?void?main(String[]?atgs){ TestGeneric?tg?=?new?TestGeneric(); tg.testAdd(); tg.testForEach(); tg.testChild(); tg.testForEach(); tg.testBasicType(); } }
如果要是不用public以后便會(huì)報(bào)錯(cuò) 引用不到了 那后面的文件應(yīng)該怎么改 才可以獲取到前面那個(gè)封裝了的id和name屬性呢 自己試了很多遍 也看了封裝那一節(jié) 還是不會(huì)改 求大牛幫忙指點(diǎn)一下 謝謝
2017-10-19
使用ccr.getId();獲得 id 值,使用ccr.getName();獲得 name 值