当前位置: 代码迷 >> Java相关 >> 如何在另一个类中调用另一个类的内部类的函数
  详细解决方案

如何在另一个类中调用另一个类的内部类的函数

热度:78   发布时间:2013-01-21 18:56:29.0
如何在另一个类中调用另一个类的内部类的函数
  下面是我的程序:
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  

----------------解决方案--------------------------------------------------------
程序代码:
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 编辑 ]
----------------解决方案--------------------------------------------------------
我的问题不是这个,我是想问,就按我那个程序那样,怎么在main函数中,访问那个内部类的方法!
----------------解决方案--------------------------------------------------------
回复 2楼 w527705090
我的问题不是这个,我是想问,就按我那个程序那样,怎么在main函数中,访问那个内部类的方法
----------------解决方案--------------------------------------------------------
回复 2楼 w527705090
你注意我是test的方法中,定义了一个类in
!!!
----------------解决方案--------------------------------------------------------
内部类最典型的作用是 实现“多重继承”,你这样写的作用是什么?如果想实现内部类方法,1、可以考虑加in类构造器,确保不用调用方法,也内保证 打印语句自动执行。2.增加in getin(){ return new in();} 可以用这个方法传递In对象到外部。
//inner.display();
        
这个是不是要这样  outer.inner.display(); ?没有验证, 求验证。
      
----------------解决方案--------------------------------------------------------
厉害
----------------解决方案--------------------------------------------------------
  相关解决方案