public?static?Menu?initMenu(){
Menu?menu=new?Menu();
ClickButton?btn1=new?ClickButton();
btn1.setName("新生服務(wù)");
btn1.setType("click");
btn1.setKey("11");
ViewButton?btn2=new?ViewButton();
btn2.setName("暑假快樂");
btn2.setType("view");
btn2.setUrl("http://idcbgp.cn/");
ClickButton?btn3=new?ClickButton();
btn3.setName("聯(lián)系我們");
btn3.setType("location_select");
btn3.setKey("33");
ClickButton?btn4=new?ClickButton();
btn4.setName("小編微信");
btn4.setType("scancode_push");
btn4.setKey("44");
Button?button=new?Button();
button.setName("聯(lián)系我們");
//以下兩句都運(yùn)用向上類型轉(zhuǎn)換
button.setSub_button(new?Button[]{btn3,btn4});
menu.setButton(new?Button[]{btn1,btn2,button});
return?menu;
}
解析后的效果
{
????"button":?[
????????{
????????????"key":?"11",
????????????"name":?"新生服務(wù)",
????????????"sub_button":?[],
????????????"type":?"click"
????????},
????????{
????????????"name":?"暑假快樂",
????????????"sub_button":?[],
????????????"type":?"view",
????????????"url":?"http://idcbgp.cn/"
????????},
????????{
????????????"name":?"聯(lián)系我們",
????????????"sub_button":?[
????????????????{
????????????????????"key":?"33",
????????????????????"name":?"聯(lián)系我們",
????????????????????"sub_button":?[],
????????????????????"type":?"location_select"
????????????????},
????????????????{
????????????????????"key":?"44",
????????????????????"name":?"小編微信",
????????????????????"sub_button":?[],
????????????????????"type":?"scancode_push"
????????????????}
????????????],
????????????"type":?""
????????}
????]
}
子菜單中的clickButton獨(dú)有的key和viewButton中獨(dú)有的url都能解析出來,為什么?
在java中,如果將一個(gè)對(duì)象進(jìn)行向上類型轉(zhuǎn)換,那么就不能調(diào)用其子類中新增的成員屬性和
方法。但是在json解析中,為什么還能夠解析出子類中父類沒有的屬性呢?
2017-08-16
求解,我也是同樣錯(cuò)誤,json解析出來不對(duì)
2016-09-11
向上轉(zhuǎn)型中可以解析出子類中獨(dú)有的屬性的。你應(yīng)該去看Java的繼承