黑马程序员技术交流社区

标题: this和super可以 同时在构造方法中共存么? [打印本页]

作者: 细听风语为梧桐    时间: 2016-8-31 22:53
标题: this和super可以 同时在构造方法中共存么?
class Animal{
int a;
int b;
}
class Cat{
int c ;
public Cat(int a,int b,,int c){
super(a , b);
this.c=c;
}
}
教科书上说不可以,但是我编译了为什么没有报错?

作者: 细听风语为梧桐    时间: 2016-9-11 23:05
没人回复吗
作者: jiubaK    时间: 2016-9-11 23:36
孩纸,应该是都用于调用构造函数时,都只能放在第一有效行。
你这this.c=c;可不是调用构造函数
作者: Cc.    时间: 2016-9-11 23:45
不能共存针对于this()、和super();   有没有小括号是俩意思,有小括号代表是用构造
作者: 流空有痕    时间: 2016-9-11 23:51
this()与super()不能共存
但this与super可以共存
作者: wo1026756529    时间: 2016-9-11 23:56
没有继承Animal就是继承了Object啊,Object只有空参构造函数啊而且Animal没有构造函数啊
super()是调用父类的构造方法
作者: tiankog    时间: 2016-9-12 00:04
this()和super()不能共存
作者: 细听风语为梧桐    时间: 2016-9-16 21:56
tiankog 发表于 2016-9-12 00:04
this()和super()不能共存

谢谢啊,我也刚刚发现
作者: Aggie_Li    时间: 2016-9-16 22:56
不能共存呀.上课的时候应该说过了吧....翻翻笔记就好了.
作者: minhang0902    时间: 2016-9-16 23:01
...原来是这样的,学习了
作者: 15835811325    时间: 2016-9-16 23:49
因为你  的this调用的是本类的变量   不是父类的  所以不会报错  你把  int  c  放到上面去   就报错了
作者: a869588615    时间: 2016-9-16 23:58
super和this都用来调用构造方法时,是无法同时使用的,因为这两句在使用时,都必须放在方法第一句,所以不能同时使用。
作者: wo1026756529    时间: 2016-9-17 00:00
可以的啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2