阅读下述代码,然后回答问题
Class F{
Public void plus(){}
Public void plus(int a){}
Public void plus(int a,int b){}
}
Class S extends F {
Public void plus(int a1){}
Public void plus(int a1,int b1){}
Public void plus(int a2,int b2){}
}
1)上述代码中有无错误,说明原因并尝试修改正代码?
2)上述代码中有6个plus方法,请分别判断F和S类中所有成员方法之间关系
3)归纳子类可以从父类中继承哪些成员?什么情况属于子类重载父类的成员方法,什么情况属于子类覆盖父类的成员方法?它们分别有什么主要作用?
1,类S中的最后两个方法是一样的,应该去掉一个。
2,S中的方法均是F第一个方法的重载,S中的第一个方法是F 中第二个方法的覆盖,第二个是F中第三个的覆盖,F 中各个方法间是重载关系。
3,可以继承非private的成员。当函数签名一样时就是重载,当子类与父类方法完全一样时是覆盖,用@Override,不报错。至于作用,不太好说,用例子比较好形容
1)有错误。 S类中的后两个plus方法没有构成重载,需要删除一个。
2)s继承了F的Public void plus(){} 方法,覆盖了Public void plus(int a){}
Public void plus(int a,int b){} 两个方法。
3)。。。
1、S有2个方法签名相同的方法
2、S重写了F的Public void plus(int a){} ,Public void plus(int a,int b){}
Public void plus(){}
Public void plus(int a){}
Public void plus(int a,int b){} 之间是重载关系
3.。。