标题:如何在另一个类中调用另一个类的内部类的函数
只看楼主
lizhigushuan
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2013-1-14
结帖率:60%
已结贴  问题点数:18 回复次数:7 
如何在另一个类中调用另一个类的内部类的函数
  下面是我的程序:
class out
{
    int out_1=100;
    void test()
    {
        final int x=100;
        class in
    {
        void display()
        {
            System.out.println("out_1="+out_1);
            System.out.println(x);
        }
    }
        in inner=new in();
        inner.display();
    }
   
   
}
class testout
{
    public static void main(String [] args)
    {
        out outer=new out();
        outer.test();
        outer.test().display();
        
        //inner.display();
        
    ;            
    }
}
我想在testout中调用out中的display函数!
求指点!
搜索更多相关主题的帖子: void display public inner 
2013-01-21 18:56
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
得分:18 
程序代码:
class out {
    int out_1 = 100;

  
        //内部类没有写在方法的里面
        final int x = 100;
        class in {
            void display() {
                System.out.println("out_1=" + out_1);
                System.out.println(x);
            }
        }
       

       

   

    public void display(){
        in inner = new in();
        inner.display();
    }
         //如果没有getin这个方法,也可以
    in getin(){
        return new in();
    }
   


}
class testout {
    public static void main(String[] args) {
        out outer = new out();
        outer.display();
        out.in in=outer.getin();//这句代码也可以改成out.in in=outer.new in();
        in.display();
    }
}



[ 本帖最后由 w527705090 于 2013-1-21 20:04 编辑 ]

有心者,千方百计;无心者,千难万难。
2013-01-21 20:01
lizhigushuan
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2013-1-14
得分:0 
我的问题不是这个,我是想问,就按我那个程序那样,怎么在main函数中,访问那个内部类的方法!
2013-01-22 09:46
lizhigushuan
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2013-1-14
得分:0 
回复 2楼 w527705090
我的问题不是这个,我是想问,就按我那个程序那样,怎么在main函数中,访问那个内部类的方法
2013-01-22 09:46
lizhigushuan
Rank: 1
等 级:新手上路
帖 子:22
专家分:5
注 册:2013-1-14
得分:0 
回复 2楼 w527705090
你注意我是test的方法中,定义了一个类in
!!!
2013-01-22 09:51
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
得分:0 
内部类最典型的作用是 实现“多重继承”,你这样写的作用是什么?如果想实现内部类方法,1、可以考虑加in类构造器,确保不用调用方法,也内保证 打印语句自动执行。2.增加in getin(){ return new in();} 可以用这个方法传递In对象到外部。
 //inner.display();
        
这个是不是要这样  outer.inner.display(); ?没有验证, 求验证。
      
2013-02-02 14:49
SUXU19881102
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2013-2-27
得分:0 
厉害
2013-02-27 10:51
xiaonuo
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2018-3-27
得分:0 
回复 2楼 w527705090
这样还不如在内部类前面加个static修饰呢。
2018-03-27 01:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-397250-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.306668 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved