package chensi;
public class T {
public class Shape{
public Shape(int i){
System.out.println("aaa");

}
}

public class Sanjiao extends Shape {
public Sanjiao(int i) {
super(i);
System.out.print("bbb");
}
}
public static void main(String[] args) {
Sanjiao a =new Sanjiao();//出错代码
} }
提示
没有任何类型 T 的外层实例可访问。必须用类型 T 的外层实例(例如,x.new A(),其中 x 是 T 的实例)来限定分配。
请问这个怎么办啊,还有请看看我构造器继承那里是不是这样使用super 的,谢谢!~

解决方案 »

  1.   

    T t = new T();
    Sanjiao a = t.new Sanjiao(0);
    那就按它说的,这样办喽?
      

  2.   

    试试看,建议去看看基础
    private static class Sanjiao extends Shape {
    public Sanjiao(int i) {
    super(i);
    System.out.print("bbb");
    }
    }
      

  3.   

    T test = new T();
    Sanjiao a = test.new Sanjiao(3);这样就行
      

  4.   

    刚看的不是很清楚
    public class TestInner{

    public class Shape
    {
    public Shape(int i)
    {

    }
    }

    public class Sanjiao extends Shape
    {
    public Sanjiao(int i)
    {
    super(i);
    }
    }

    public static void main(String[] args)
    {
    TestInner t = new TestInner();
    Sanjiao sj = t.new Sanjiao(1);
    }
    }