标题:为什么找不到符号????
取消只看楼主
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
结帖率:66.67%
已结贴  问题点数:20 回复次数:1 
为什么找不到符号????
interface AA
{
    //接口
    void f();
}

class BB                     
{
    public void f() {System.out.println("BB");}
    public class BC implements AA
    {
        public void f() {System.out.println("BC");}
        public class BD implements AA
        {
            public void f() {System.out.println("BD");}
        }
        public AA Newn()
        {
            return new BD();
        }
    }
    public AA New() //BC 没有对象 就无法创建BD对象 因为他们都是非静态class 必须要有外部类对象才能创建内部类对象
    {
        return new BC();
    }
}

class CC
{
    public void f() {System.out.println("CC");}
    private static class CA implements AA
    {
        public void f() {System.out.println("CA");}
        private static class CB implements AA
        {
            public void f() {System.out.println("CB");}
        }
    }
    public static AA New(int i)
    {
        if (i == 1 && i != 2)
            return new CA();
        else
            return new CA.CB();
    }
}
public class lianxi19
{
    public static void play(BB a)
    {
        AA a1 = a.New();
        AA a2 = a1.Newn();
        AA a3 = CC.New(1);
        AA a4 = CC.New(2);
    }
   
    public static void main(String[] args)
    {
        play(new BB());
    }
}
/*
lianxi19.java:54: 错误: 找不到符号
                AA a2 = a1.Newn();
                          ^
  符号:   方法 Newn()
  位置: 类型为AA的变量 a1
1 个错误

D:\wendang\linshijava\Nine\ten>
*/
搜索更多相关主题的帖子: void class public out new 
2018-10-30 21:29
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
得分:0 
回复 2楼 纵横阳仔
是啊 需要向下转型
我今天刚弄明白.

谢谢你.
2018-10-31 22:56



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




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

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