super的使用
将指定的值进行初初始化,如果子类里有构造方法或者在其他类里要调用这个子类的构造方法,就必须在这个构造方法里调用父类的构造方法.
给你举个例子
class Father {
Father(){print ('father');};
}
class Son {
Son(){print ('son')};
}
如果只是这样,那么构造Son之前会在后台调用一下super()函数,
调用过程你看不到,但是确实执行了,结果是先father后son
但是这种时候你显示的写个super就没有意义了,那么他在什么时候用呢,再举个例子
给你举个例子
class Father {
Father(){print ('father');};
Father(int age){print ('father is'+age);};
}
class Son {
Son(){super(36);print ('son')};
}
这种情况下输出的就不是father 和 son了,而是father is 36 和 son
就是说在你父类不止一个[构造函数]时,显示的调用super才有意义
进行初始化是一个方面,像我这个例子里就是输出了一些信息
class Son {
Son(){print ('son')}; //输出father 和 son
}
class Son {
Son(){super();print ('son')}; //输出father 和 son
}
class Son {
Son(){super(36);print ('son')}; //输出father is 36 和 son
}
根据你调用的不同结果不同,但是一定会调用的