學(xué)生選課代碼中把學(xué)生的屬性由public改為private后
代碼如圖一 如果把學(xué)生的屬性改為private的話,就是像圖二那樣寫(xiě)對(duì)嗎?
改為private就沒(méi)有構(gòu)造方法了,那如果要實(shí)例化的話怎么做?
代碼如圖一 如果把學(xué)生的屬性改為private的話,就是像圖二那樣寫(xiě)對(duì)嗎?
改為private就沒(méi)有構(gòu)造方法了,那如果要實(shí)例化的話怎么做?
2016-08-16
舉報(bào)
2016-12-12
改為private還是有構(gòu)造方法,你不是寫(xiě)了構(gòu)造方法嗎,
public Student(String id,String name){
????????this.id=id;
????????this.name=name;
}這就是構(gòu)造方法,
實(shí)例化:Student stu = new Student("1","數(shù)據(jù)結(jié)構(gòu)");
這就是有參的構(gòu)造方法及相關(guān)的實(shí)例化。
如果你的構(gòu)造方法是無(wú)參的話:
public Student(){
????????this.id=id;
????????this.name=name;
}(getter和setter方法如同你的代碼一樣)
實(shí)例化:Student stu = new Student();
這就是無(wú)參的構(gòu)造方法及相關(guān)的實(shí)例化。
而無(wú)參的構(gòu)造方法的id與name就用getter和setter方法來(lái)獲取和賦值,例子如下:
Student stu = new Student();
stu.setId("1");//給id賦值:1
stu.setName("數(shù)據(jù)結(jié)構(gòu)");//給name賦值:數(shù)據(jù)結(jié)構(gòu)
System.out.println(stu.getId());//獲取id的值
System.out.println(stu.getName());//獲取name的值
2016-09-10
代碼沒(méi)毛病啊,就算是屬性改為私有的,還有可以有Student類的構(gòu)造方法的呀,創(chuàng)建對(duì)象的方法和之前的一樣,只是實(shí)例化的對(duì)象無(wú)法直接調(diào)用其屬性,必須要通過(guò)所提供的setter 方法和getter方法來(lái)對(duì)屬性進(jìn)行賦值和讀取。
以上純手打,希望能采納~賺積分~~謝謝啦
2016-08-16
圖片如下: