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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱辉 黑马帝   /  2012-3-28 15:01  /  3559 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Outer{
  2.                 Outer(){}
  3.                 public void method(){
  4.                         final String name="abc";
  5.                         final int age=26;
  6.                         class Inner{
  7.                                 public void getValue(){
  8.                                         System.out.println(name+":"+age);
  9.                                 }
  10.                         }       
  11.                 }       
  12.         }
  13. }
复制代码
主函数应该怎样写才能调用到方法中内部类的getValue方法?

11 个回复

倒序浏览
1。在外层类定义一个方法可以获取内部类的一个对象,在边边调用这个方法就可以访问内部类了,
2。外层类.内层类  name=外层类.内层类();
回复 使用道具 举报
在外部无法被访问 鉴定完毕
回复 使用道具 举报
本帖最后由 王国华 于 2012-3-28 15:41 编辑

class Outer{

           Outer(){}
            public void getValue(){}
                public Outer method(){

                        final String name="abc";

                        final int age=26;

                        class Inner extend Outer{

                                public void getValue(){

                                        System.out.println(name+":"+age);

                                }

                        }
                return new Inner();      

                }        

        }

}

主函数中通过下列方法访问
Outer in = new Outer().method();
in.getValue();
//使用了多态
回复 使用道具 举报
在其他类中的访问方式:
Outer.Inner  i=new Outer().new Inner();
i.getValue();
回复 使用道具 举报
各位大哥大姐说那么多 说到点子上好吗 外部类的方法中的内部类可以用这些格式调用吗 请仔细考虑考虑
回复 使用道具 举报
抓哇 初级黑马 2012-3-28 15:36:57
7#
yocean 发表于 2012-3-28 15:28
主要是得到内部类的对象,内部类对象创建有3中情况,
1.在外部类的一般方法中创建:直接使用Inner in = new ...

你这个万能总结能应用于 外部类中成员方法里的内部类吗????????
回复 使用道具 举报
izwj 中级黑马 2012-3-28 15:49:24
8#
class Outer{

Outer(){}

public void method(){

                final String name="abc";

                final int age=26;

                class Inner{

                                public void getValue(){

                                                System.out.println(name+":"+age);

                                }

                }
                new Inner().getValue();//加上这句话就可以了
        }        

}

class N1
{
        public static void main(String[] args)
        {
                new Outer().method();               

        }
}
回复 使用道具 举报
无法访问的  你 必须提供 该方法中的 内部类  实例.
class Outer {
                Outer(){}
         public void method(){
                 final String name="abc";
             final int age=26;
             class Inner{
                 public void seeOuter(){
                     System.out.println(name+":"+age);
                 }
             }  
             Inner in = new Inner();
             in.seeOuter();
         }
         public static void main(String[] args) {
             Outer out = new Outer();
             out.method();
         }
     }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马