学习和使用继承时先要清楚的三点
2008-01-05 20:07:24 来源:WEB开发网第一点:
那就是
1.假如子类覆盖了父类的方法,那么子类对象调用该方法时,被该方法修改的类级别变量是子类的变量。
2.假如子类没有覆盖父类方法,而直接调用父类的方法,那么被该方法修改的类级别变量是父类的变量。
1则如下例:
public class Temp{
public static void main(String args[]){
b bb = new b();
bb.fuqin();
}
}
class a{
public String s = "fuqin";
public void fuqin(){
System.out.PRintln(s);
}
}
class b extends a{
public String s = "erzi";
public void fuqin(){
System.out.println(s);
}
}
//结果为erzi
2.则如下例:
public class Temp{
public static void main(String args[]){
b bb = new b();
bb.fuqin();
}
}
class a{
public String s = "fuqin";
public void fuqin(){
System.out.println(s);
}
}
class b extends a{
public String s = "erzi";
public void erzi(){
System.out.println(s);
}
}
//结果为fuqin
第二点:
那就是对“覆盖(override)”和“重载(overload)”以及重建的概念的清楚。
先声明一下:重建就是写一个新的方法。
如下例:
下面这个叫覆盖
public class Temp {
public static void main(String[] args) {
Sub sub = new Sub();
sub.plus(2);
System.out.println(sub.i);
}
更多精彩
赞助商链接