2017-03-10 55 views
-1

我对Java非常陌生,并且一直试图首次使用嵌套类。 我有2个内部类的外部类,我想能有 的内部类将类实例映射到数字

class OuterClass { 
    ... 
    class Person { 
     class Like { 
     } 
     **public static Map<Integer, Like> Likes;** 
    } 
} 

是否有可能在Java中? 在Golang会看起来像这样的例子:

type Like struct { 

} 

type Person struct { 
    Name string 
    **Likes map[int]Like** 
} 

我可能是走错路了,也许这样做存在或有可能这样的一个更好的面向对象计算策略?

+1

你试过,你发布的代码?什么地方出了错? (您是否可能向Google发送了错误消息?) – ruakh

回答

0

是的,这是可能的,你的代码会像

class Client{ 

class Outer{ 
    class Phone{ 
     class Like{ 
       public void sayHello(){ 
       System.out.println("Hello"); 
      } 
     } 

     public static void method(Outer.Phone.Like g){ 
      l.sayHello(); 
     } 
    } 

} 

    public static void main(String[] args){ 
    Client q = new Client(); 
    Client.Outer o = q.new Outer(); 
    Client.Outer.Phone p = o.new Phone(); 
    Client.Outer.Phone.Like l = p.new Like();   
    p.method(l);  //call sayHello and print Hello 

}