黑马程序员技术交流社区

标题: 构造函数中的this()语句 [打印本页]

作者: 崔龙飞    时间: 2013-7-9 20:34
标题: 构造函数中的this()语句
本帖最后由 崔龙飞 于 2013-7-9 21:14 编辑
  1. public class Demo1 {
  2.         public static void main(String[] args) {
  3.                 //Zi z = new Zi();
  4.                 //System.out.println(z.num);
  5.                 Zi z1 = new Zi(4);
  6.         }
  7. }

  8. class Fu {                                                        
  9.         int num;
  10.         Fu() {                                       
  11.                 num = 60;
  12.                 System.out.println("父类           run");
  13.         }
  14.         
  15.         Fu(int x) {
  16.                 System.out.println("父类        x");
  17.         }
  18. }

  19. class Zi extends Fu {                                
  20.         Zi() {                        //Demo1.java:22: 错误: 递归构造器调用
  21.                 //this();        我知道下面带参构造函数中this()的作用是调用了本类无参构造函数。
  22.                                //但是放到无参里面,为什么就不能调用了自己了?求指教,多谢。
  23.                 System.out.println("子类        run");        
  24.         }                                                                        
  25.                                                                                 
  26.         Zi(int y) {        
  27.                 this();
  28.                 System.out.println("子类        y");
  29.         }                                                               
  30. }               
复制代码

作者: 禾呈    时间: 2013-7-9 20:36
自己调用自己,自己里边在调用自己,无限死循环。
作者: 禾呈    时间: 2013-7-9 20:36
自己调用自己,自己里边在调用自己,无限死循环。
作者: 草貌路飞    时间: 2013-7-9 20:37
不是不可以..是无限循环调用了...一直自己调用自己,不是死循环么
作者: sunalong    时间: 2013-7-9 20:57
错误提示是什么?好像就是死循环。。。
作者: 崔龙飞    时间: 2013-7-9 21:00
标题: RE: 构造函数中的this()语句
禾呈 发表于 2013-7-9 20:36
自己调用自己,自己里边在调用自己,无限死循环。

我知道是无线循环,主要是对那个递归构造器不理解,那个递归构造器调用就是无限循环的意思?
作者: 崔龙飞    时间: 2013-7-9 21:01
草貌路飞 发表于 2013-7-9 20:37
不是不可以..是无限循环调用了...一直自己调用自己,不是死循环么

嗯嗯,那个递归构造器能解释下吗?
作者: 草貌路飞    时间: 2013-7-9 21:40
崔龙飞 发表于 2013-7-9 21:01
嗯嗯,那个递归构造器能解释下吗?

不是,构造器就是构造函数,递归构造器调用意思就是说递归调用了构造函数,没有什么递归构造器的
作者: 崔龙飞    时间: 2013-7-10 00:19
草貌路飞 发表于 2013-7-9 21:40
不是,构造器就是构造函数,递归构造器调用意思就是说递归调用了构造函数,没有什么递归构造器的 ...

晓得了,谢了哈




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