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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

码如下
interface Inter
{
             void show();
}
class Outer
{
           public static Inter method()
          {
                      return new Inter()
                      {
                               public void show()
                              {
                                              System.out.println("inner class show");
                              }
                    };
          }
}
class InnerClassDemo
{
            public static void main(String[] args)
           {
                       Outer.method().show();
            }
}

分析:主函数是 Outer.method().show();,由Outer.method().可知道method()方法是一个静态函数,直接由外部类调用,后面的.show();是接口的方法,所以Outer.method().返回的是一个对象,用于调用show() 方法,所以使用匿名内部类,但结果是编译通过,运行时出现错误,截图如下,请各位看看问题出在哪里了?


8 个回复

倒序浏览
你应该运行InnerClassDemo这个类文件,而不是InnerClass
回复 使用道具 举报
哥们 你编译的类 没主函数咋运行咧 改成 java InnerClassDemo 试试
回复 使用道具 举报
你运行的类没有主函数。。
回复 使用道具 举报
冥夜 发表于 2014-11-23 22:38
你运行的类没有主函数。。

实在不好意思,我说咋半天没发现是哪里的问题呢,后来改了主函数,问题已解决,非常感谢!
回复 使用道具 举报
Crazy_Eat_Code 发表于 2014-11-23 22:26
哥们 你编译的类 没主函数咋运行咧 改成 java InnerClassDemo 试试

实在不好意思,后来改了主函数,问题已解决,非常感谢!
回复 使用道具 举报
DamonZh 发表于 2014-11-23 22:15
你应该运行InnerClassDemo这个类文件,而不是InnerClass

实在不好意思,后来改了主函数,问题已解决,非常感谢!
回复 使用道具 举报
mmppp 中级黑马 2014-11-24 14:55:18
8#
你的主函数名字叫什么,运行的时候就应该写java 什么啊。不然jvm没有检测到主函数呢。
回复 使用道具 举报
mmppp 发表于 2014-11-24 14:55
你的主函数名字叫什么,运行的时候就应该写java 什么啊。不然jvm没有检测到主函数呢。 ...

你没认真看问题,我的问题是主函数入口类写错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马