黑马程序员技术交流社区
标题:
输出结果为什么会是这样的
[打印本页]
作者:
猪猪fly侠
时间:
2015-4-30 11:06
标题:
输出结果为什么会是这样的
本帖最后由 猪猪fly侠 于 2015-4-30 14:47 编辑
public class auther {
public static void main(String[] args) {
// TODO Auto-generated method stub
A a = new A(1,"abc");
}
}
class A{
int num;
String st;
A(){
System.out.println("无参构造");
}
A(int num){
this.num = num;
System.out.println("单参够着");
}
A(int num,String st){
this();
this.num = num;
this.st = st;
System.out.println("双参构造");
}
}
输出结果:
无参构造
双参构造。
作者:
cyr
时间:
2015-4-30 11:39
你在双惨构造函数里调用了无参构造函数呀。输出结果有什么问题呢?
作者:
猪猪fly侠
时间:
2015-4-30 13:34
就是对this的用法有点晕
作者:
猪猪fly侠
时间:
2015-4-30 13:38
cyr 发表于 2015-4-30 11:39
你在双惨构造函数里调用了无参构造函数呀。输出结果有什么问题呢?
this到底怎么用
作者:
1017161726
时间:
2015-4-30 14:08
双参构造函数中有this(),你不写系统也会加一个上去的。就是调用无参构造函数,因为是在第一句,所以先执行无参,再执行双参。
作者:
1017161726
时间:
2015-4-30 14:09
猪猪fly侠 发表于 2015-4-30 13:38
this到底怎么用
this是指本类中的。this();就是调用本类方法,可以看成是className();就是无参数的构造函数啊。
作者:
cyr
时间:
2015-4-30 14:15
猪猪fly侠 发表于 2015-4-30 13:38
this到底怎么用
this指的是本类对象,你可以理解为自己本身。如果this放在构造函数中,则代表构造函数。this只能放在构造函数的第一行,与super用法一样,只能出现this/super一次,不能同时出现。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2