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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 泛型筆試問題?

Java 泛型筆試問題?

慕少森 2019-02-20 16:52:20
代碼: public class Pair<T> { private T t1; private T t2; public T getT1() { return t1; } public void setT1(T t1) { this.t1 = t1; } public T getT2() { return t2; } public void setT2(T t2) { this.t2 = t2; } } public class User { private String name; private String sex; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } public class Twins extends Pair<User> { @Override public void setT1(User t1) { if (t1 != null) { super.setT1(t1); } } @Override public void setT2(User t2) { if (t2 != null) { super.setT2(t2); } } } 問題描述:虛擬機會將 Pair進行類型擦除,擦出后類型變量將替換為 Object,那么 Twins 類重寫的方法 void setT1(User t1)及 void setT2(User t2)中參數會擦出為 Object嗎?為什么?
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

父類Pair進行類型擦除,擦出后類型變量將替換為Object,子類 Twins 類重寫的方法 void setT1(User t2)及 void setT2(User t2)不會被擦出為Object,但這樣參數列表變了,不是重寫了,所以子類Twins自動生成了兩個方法setT1(java.lang.Object)和setT2(java.lang.Object)方法重寫父類兩個方法,在里面調用void setT1(User t2)及 void setT2(User t2)這兩個方法,所以子類Twins是有四個方法.

查看完整回答
反對 回復 2019-03-01
  • 3 回答
  • 0 關注
  • 535 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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