:) 这样说吧,就是为了提现程序的后期维护,
因为对于一个构造方法,子类是不能继承的,那么可以通过super来调用,
但是子类不仅有父类的属性还有子类特有的属性,如下面的例子可以看到,如果我以后需要修改父类的属性,那么子类的属性是通过super来调用的,这样就无须修改子类的属性,如果我们是吧父类的构造器在子类重新定义一边的话,那么对于一个或少数子类这样修改没问题,但是以后的项目当中万一有成千上万,那么这就是一个工程相当大的问题
对于下面这两个类[code=java]package cn.itcast.heima
class Base
{
public double size;
public String name;
public Base(double size , String name)
{
this.size = size;
this.name = name;
}
}
public class Sub extends Base
{
public String color;
public Sub(double size , String name , String color)
{
//通过super调用来调用父类构造器的初始化过程
super(size , name);
this.color = color;
}
public static void main(String[] args)
{
Sub s = new Sub(5.6 , "测试对象" , "红色");
//输出Sub对象的三个属性
System.out.println(s.size + "--" + s.name + "--" + s.color);
}
}[/code]
[ 本帖最后由 詹季春 于 2011-07-29 02:05 编辑 ] |