class Single
{
    private int age;    public void show()
    {
       System.out.println(age);
    }    private Single(){}    static Single s= new Single();    public static Single getStudent()
    {
      return s;
    }}class SingleDemo
{
    public static void main(String[] args)
    { 
        Single p=Single.getStudent();
        //System.out.println(p.show);
       p.show();
    }
}
我感觉好乱。1、 static Single s= new Single();是在类Single中定义的,
    但是这时候类Single还没有定义完。2、Single的show方法已经可以输出了,为什么还要调用pringln(p.show)呢?

解决方案 »

  1.   

    我一直以为这一步static Single s= new Single();要在main中进行定义,原来在自己的本身类中也可以这样做。
    还有这一步
    public static Single getStudent()
        {
          return s;
        }我从来没有试过在本身类中用返回值是本身类类型的方法。
    今天又学到了。
      

  2.   

    我知道直接可以用 p.show()调用 但是不知道怎么写着写着就写出了System.out.println(p.show())出来了  虽然这也复杂些,但是觉得这也没错呀 求指导 为什么不能这样写
      

  3.   

    p.show()没有返回值,当然会出错了