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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

跟着视频敲的代码,可是看起来一模一样的代码拿错了,求指导。代码如下
interface   Inter
{
        void method();
}


class Test
{
        static class Inner implements Inter
        {
                public void method()
                {
                        System.out.println("method run");
                }
        }
        static Inter  function()
        {
                return  new Inner();
        }
}


public class InnerClassTest {

        public static void main(String[] args)
        {
                Test.function().method;
        }

}



出现的错误提示如下 :
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
        语法错误,将“AssignmentOperator Expression”插入到完整 Expression 中
        无法解析 method,或者它不是字段

        at InnerClassTest.main(InnerClassTest.java:23)


还有
如图所示的错误提示。


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 淡定

查看全部评分

4 个回复

倒序浏览
  1. public class InnerClassTest {

  2.         public static void main(String[] args)
  3.         {
  4.                 Test.function().method;
  5.         }

  6. }
复制代码


神呐,method是一个方法,所以要加()的;
Test.function().method();

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
zzkang0206 + 1 赞一个!
追兵 + 2 淡定

查看全部评分

回复 使用道具 举报
itpower 发表于 2014-2-10 13:16
神呐,method是一个方法,所以要加()的;
Test.function().method();

谢谢了,我找了好久都没看出来问题出哪。
问题解决了;P
回复 使用道具 举报
建议主方法这么写{:soso_e100:}
Inner i = new Test.Inner();//访问到内部类
i.method();//调用内部类的方法

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 赞一个!

查看全部评分

回复 使用道具 举报
kira 发表于 2014-2-10 13:26
建议主方法这么写
Inner i = new Test.Inner();//访问到内部类
i.method();//调用内部类的方 ...

谢了,就是错误问题找不到,不过楼上已经帮我支持,解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马