interface Destination 
   {
  String readLabel()
   }
class Parcel10 {
 public class p
 {
 
 }
  public  static class PDestination
      implements Destination 
   {
    private String label;
    public PDestination(String whereTo) {
      label = whereTo;
    }
    public String readLabel() { return label; }
  }


class TTTT
{
  public void t()
  {
 Parcel10 c2=new Parcel10();
 Parcel10.p p1=c2.new p();
 //这里怎么建立Parcel10的static内类PDestination              的实例?以下是错误的
 Parcel10.PDestination pd=c2.new PDestination("aaaaa");

  }
 }

解决方案 »

  1.   

    我刚才常识了一下,最后一句话如果改成Parcel10.PDestination pd;的话可以通过,所以问题出在构造器上,也就是构造函数.如果用C2调用new在调用构造器的话,因为PDestination是个抽象类,类对象无法调用它.我试了很多方法始终没能成功.但是多少发现一些问题.
    1.PDestination既然是静态类,如果想创建一个PDestination的对象用Parce100类是没有问题的.
    2.PDestination是静态的,他所操作的数据和方法是不是也应该是静态的,这也是个问题.
    3.静态类创造出来的对象到底是什么状态,有哪些特性,调用的构造器有没有什么限制都不知道.
    我也是初学者,只能做这么多,等待高手解决.
      

  2.   

    1、PDestination不是抽象类
    2、创建静态内部类的正确方法应该是:
    Parcel10.PDestination pd = new Parcel10.PDestination("aaaaa");