日期:2014-05-20  浏览次数:20769 次

指点一下关于this和super的用法?
看了张孝祥的JAVA视频讲座,有一个菜鸟java问题,如下:
this(name,age);
super(name,age);
两个语句什么意思,分别用在什么时候?区别是什么?
为什么不能同时在一个构造函数中出现?为什么只能作为构造函数中的第一句出现?


------解决方案--------------------
this(name,age);调用子类构造函数
super(name,age);调用父类构造函数



为什么不能同时在一个构造函数中出现?
会死循环。比如:
student(String name,int age)
{
this(name,age);
}
那就是自己调自己了。。



为什么只能作为构造函数中的第一句出现?
构造函数是用来初始化数据的,所以必须先执行。。



------解决方案--------------------
this(name,age);是调用本类的含有name,age参数的构造器,
super(name,age);是调用父类含有name,age参数的构造器,
------解决方案--------------------
简单理解this就是指的当前对象,如果执行某个方法,里面的this就指当前调用方法的对象
super就是你父类对象了
------解决方案--------------------
this(name,age):表示调用本类的name和age
super(name,age):表示调用父类的name和age,可以调用父类的任意方法以及字段

为什么不能同时在一个构造函数中出现?
会死循环
为什么只能作为构造函数中的第一句出现?
构造函数是用来初始化数据的,所以必须先执行。。