永发信息网

请问这个程序最后输出的为什么是99?

答案:3  悬赏:70  手机版
解决时间 2021-02-09 00:25
public class Father{
int a=100;
public void miner(){
a--;
}
public static void main(String[] args){
Father x = new Father();
Son y = new Son();
System.out.println(y.a);
System.out.println( y.getA());
y.miner();
System.out.println(y.a);
System.out.println(y.getA());
}
}
class Son extends Father{
int a = 0;
public void plus(){
a++;
}
public int getA() {
return super.a;
}
}
答案:
0
100
0
99
最佳答案
首先第一个输出是System.out.println(y.a);,输出son里面的a,是默认的0所以第一个输出0.
然后第二个输出是System.out.println( y.getA());,在son里面可知getA 是获得父类的a值(super.a 是指父类的a),父类的a默认是100,所以输出100.
接着y.miner();是通过子类y调用父类的函数·这时候通过miner函数会让父类的a-1=99.
第三个输出是System.out.println(y.a);输出的还是子类的a,就是默认的a=0,所以第三个输出0.
第四个输出是System.out.println(y.getA());因为上面调用了miner函数,父类的a-1=99了,所以通过getA获得的父类的a是99,所以输出为99
全部回答
super 就是Father的一个实例化对象。 调用y.miner(); 的时候, 因为Son没有重载Father的miner();方法,所以实际上调用的就是Father的miner(). 那么Father的a就=99了, super.a 就是Father的a。。 提交回答 this.a 或则直接a 是 Son中的a super.a 是 Father中的a
cup1=new cup(1);  cup2=new cup(2);构造函数时已初始化, cup(int marker){ system.out.println("cup("+marker+")"); } 因此会输出cup(1),cup(2)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
启明星小学(德州宁津县)地址在什么地方,想过
SHOW MILK休闲吧地址在什么地方,想过去办事
陈庄小学(德州德城区)怎么去啊,我要去那办事
其证候是A.肝胃不和B.脾肾阳虚C.气血两虚D.脾
土桥中心小学(陵城区)地址好找么,我有些事要
舟山特色海鲜馆这个地址在什么地方,我要处理
【信鸽怎么知道往哪飞】信鸽能从几百千米甚至
夏津县银城实验小学地址在什么地方,想过去办
茂源宾馆在什么地方啊,我要过去处理事情
100m流量多还是100k流量多
蚊子为什么白天不出来?
德州市石芦街小学怎么去啊,我要去那办事
天梭手表维修配件报价??
戴平面镜好还是只有个镜框好最近想买副眼镜,
阳朔开发食品经营部这个地址在什么地方,我要
推荐资讯
XP台式液晶电脑的亮度与对比度设置几对眼睛最
求小学四年级数学应用题题两道!
伟东超市在哪里啊,我有事要去这个地方
【血液灌流】血液灌流的临床应用()
从九寨沟县经省道301出发,绕道陇南经国道212
广告图文(高境镇殷高西路518号尚景天地一楼大
华为4c手机下方三个功能键盘灯怎么打开
(12分)图甲示缩手反射相关结构,图乙是图甲
桂子油是什么,干啥用的?
ZARAHOME(虹桥南丰城店)地址在什么地方,想过
中国邮政储蓄银行(官舟乡营业所)怎么去啊,我
rxlevel,-45dbm,算高么?我在家里测得信号强
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?