A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 茄子 于 2014-6-2 21:31 编辑

下面是一段代码。要求是:在内部类中,访问外部类中的成员变量和成员方法,
我的结题思路:我是在内部类中建立了一个外部类的对象,来访问的外部类的成员变量和成员方法,这符不符合要求??

如果不符合??该怎么做呢??如果符合要求,那么,请问,还有其他的方法吗??

急啊
class Student
{
        int num=10;
        public void printName()
        {
                System.out.println("Student  run");
        }
        class GoodStudent                          //在外部类中定义一个内部类.           并且访问外部成员,并调用外部函数。
        {
                public void methord()
                {
                        Student x=new Student();
                        x.printName();
                        System.out.println("x=  "+x.num);                        
                }
               
        }
        public void function()                   //在外部类函数中创建内部类对象,调用内部类函数。
        {
                GoodStudent a=new GoodStudent();
                a.methord();
        }
}


public class InnerClassTest {


        public static void main(String[] args)
        {
                Student a = new Student();
                a.function();                    //在外部类函数中创建内部类对象,调用内部类函数。


        }


}


评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

6 个回复

倒序浏览
楼主代码不能复制么?这是我以前写的,楼主参照着做咯。
  1. public class Test6 {
  2.        private int outnum=8;
  3.        public void Show()
  4.        {
  5.                System.out.println("外部类方法");
  6.        }
  7.        private class Inner
  8.        {
  9.                public void method()
  10.                {  
  11.                        //访问外部成员变量
  12.                        System.out.println(Test6.this.outnum);
  13.                        //调用外部函数
  14.                        Test6.this.Show();
  15.                }
  16.        }
  17.       public static void main(String[] args) {
  18.               //创建内部类对象
  19.                 Test6.Inner obj=new Test6().new Inner();
  20.                 //调用内部类函数
  21.                 obj.method();
  22.         }
  23. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
123_yaya 发表于 2014-6-2 20:49
楼主代码不能复制么?这是我以前写的,楼主参照着做咯。

嗯嗯,看到了!!谢谢
我一直以为写在输出语句里面的,不叫调用!!

还有一个问题就是,我刚才写的那中创建外部类对象的调用可以吗??
回复 使用道具 举报
可以啊.....
回复 使用道具 举报

诺,解决了!!谢谢!!
回复 使用道具 举报
可以不用再内部类中实例化外部类的,你那样写没有错,但是建议是这样写,Test6.this.outnum  Test6.this.show()。
回复 使用道具 举报
ゞ导火索゛ 发表于 2014-6-2 23:20
可以不用再内部类中实例化外部类的,你那样写没有错,但是建议是这样写,Test6.this.outnum  Test6.this.sh ...

嗯嗯,问题解决了,不过还是谢谢你!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马