黑马程序员技术交流社区

标题: 这个题,创建内部类对象要在另一个外部函数中?,死循... [打印本页]

作者: lh994749769    时间: 2014-11-20 18:39
标题: 这个题,创建内部类对象要在另一个外部函数中?,死循...
package com.itheima;

import java.io.Externalizable;

/*
*
* 7、 定义一个包含私有成员变量和函数的类,再定义一个内部类,
* 在内部类函数中访问外部成员变量,并调用外部函数。
* 在外部类函数中创建内部类对象,调用内部类函数。
*
* */
public class Test7 {
        //外部类私有成员变量
        private int externalMembers = 1;
       
        //外部类私有成员函数
        private void externalFun() {
                System.out.println("外部成员函数");
               
                //在外部类函数中创建内部类对象
                Inner in = new Inner();
                //调用内部类函数
                in.innerFun();
        }

        //内部类
        public class Inner{
                public void innerFun(){
                        //访问外部成员变量
                        System.out.println(externalMembers);
                       
                        //调用外部成员函数
                        externalFun();
                       
                }
        }
        public static void main(String[] args) {
                new Test7().externalFun();

        }
}


作者: kerner    时间: 2014-11-20 20:28
这属于递归调用中的一种间接递归调用,递归调用必须要有终止的条件,不能嵌套太多层次,因为只有压栈,没有出栈,所以堆栈一定会溢出。
作者: lh994749769    时间: 2014-11-20 22:24
kerner 发表于 2014-11-20 20:28
这属于递归调用中的一种间接递归调用,递归调用必须要有终止的条件,不能嵌套太多层次,因为只有压栈,没有 ...

出题用意在哪里,是我理解错了吗,我知道会形成死循环,但出题的用意在哪里呢,是创建内部类对象要在另一个内部函数中吗




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