第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

動(dòng)態(tài)綁定的疑惑:編譯器到底是看穿了一切還是啥都沒看穿

動(dòng)態(tài)綁定的疑惑:編譯器到底是看穿了一切還是啥都沒看穿

七九九 2016-02-25 19:07:20
//這是一個(gè)Employee類 import?java.util.Date; import?java.util.GregorianCalendar; public?class?Employee?{ ???????private?String?name; ???????private?double?salary; ???????private?Date?hireDay; ???????public?Employee(String?n,?double?s,?int?year,?int?month,?int?day) ???????{ ??????????name?=?n; ??????????salary?=?s; ??????????GregorianCalendar?calendar?=?new?GregorianCalendar(year,?month?-?1,?day); ??????????//?GregorianCalendar?uses?0?for?January ??????????hireDay?=?calendar.getTime(); ???????} ???????public?String?getName() ???????{ ??????????return?name; ???????} ???????public?double?getSalary() ???????{ ??????????return?salary; ???????} ???????public?Date?getHireDay() ???????{ ??????????return?hireDay; ???????} ??????? ???????public?void?raiseSalary(double?byPercent) ???????{ ??????????double?raise?=?salary?*?byPercent?/?100; ??????????salary?+=?raise; ???????} } ———————————————————————————————————————— //這是一個(gè)Manage類,繼承Employee類 public?class?Manager?extends?Employee?{ ????private?double?bonus; ???? ????public?void?setBonus(double?b){ ????????bonus=b; ????} ???? ????public?Manager(String?n,?double?s,?int?year,?int?month,?int?day)?{ ????????super(n,?s,?year,?month,?day); ????????bonus=0; ????} ???? ????public?double?getSalary(){ ????????return?super.getSalary()+bonus; ????} } —————————————————————————————————————————————— //測(cè)試類 public?class?ManageTest?{ ????public?static?void?main(String[]?args)?{ ????????Employee[]?staff=new?Employee[3]; ????????Manager?boss=new?Manager("Carl?Cracker",80000,1987,12,15); ????????boss.setBonus(5000); ????????staff[0]=boss; ????????staff[1]=new?Employee("Harry?Hacker",50000,1989,10,1); ????????staff[2]=new?Employee("Tommy?Tester",40000,1990,3,15); ???????? ????????//首先舉個(gè)例子:報(bào)錯(cuò),編譯器將staff[0]看做Employee對(duì)象,不允許調(diào)用Manager類對(duì)象的方法。 ????????staff[0].setBonus(1000);???? ????????/* ?????????*?那么當(dāng)for循環(huán)i=0時(shí),staff[i]調(diào)用的getSalary()為什么還是Manager類的方法,salary=85000; ?????????*?我知道“動(dòng)態(tài)綁定”這個(gè)概念。但是我不懂的問題在于: ?????????*?前面已經(jīng)舉例了,編譯器將staff[0]看作Employee對(duì)象,那么應(yīng)該說明編譯器不知道staff[0]是Manager對(duì)象, ?????????*?應(yīng)該會(huì)調(diào)用Employee類的getSalary()方法啊。結(jié)果為什么還是調(diào)用了Manager()中的getSalary()方法? ?????????*?哪里理解錯(cuò)了嗎? ?????????*/ ????????for(int?i=0;i<staff.length;i++){ ????????????System.out.println("name="+staff[i].getName()+",salary="+staff[i].getSalary()); ????????} ????} } —————————————————————————— //運(yùn)行結(jié)果 name=Carl?Cracker,salary=85000.0(不是我想象中的80000.0) name=Harry?Hacker,salary=50000.0 name=Tommy?Tester,salary=40000.0 問題在測(cè)試類的注釋中。
查看完整描述

2 回答

?
幽凝

TA貢獻(xiàn)21條經(jīng)驗(yàn) 獲得超8個(gè)贊

staff[0] = new Manager(....................);

staff[0].setBonus(..........);

試試

查看完整回答
反對(duì) 回復(fù) 2016-04-27
  • 2 回答
  • 0 關(guān)注
  • 1508 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)