public static void main(String args[])
   {   String t=new Star5().dayin();
    System.out.println(t);
   }

解决方案 »

  1.   

    错在t是dayin方法的局部变量,在main方法中不可见,不能使用。
      

  2.   

    t是string的一个对象,楼上的说法好像说不通
      

  3.   

    谢谢楼上的
    改成这样后打印成功了
    public class Star5
    {   static String t=new String("成功拉");
          public  String dayin()
       {      
              return t;
       }
      public static void main(String args[])
       {   new Star5().dayin();
        System.out.println(t);
       }
    }
    但是t必须声名为静态变量才行,如果不声名为static还是不能打印
    但是声明为static后即使不调用dayin()也能打印出来,与我的本意相背愿意是main()调用dayin()后返回t,应该怎么写这个程序。
    再次谢谢楼上各位解答。
      

  4.   

    支持咖啡的说法!
    要不就把整个扔到println里面去!
    就是
    public static void main(String args[])
       { 
        System.out.println(new Star5().dayin());
       }
      

  5.   

    public class Star5
    {   String t=new String("成功拉");
          public  String dayin()
       {      
              return t;
       }  public static void main(String args[])
       {   String t = new Star5().dayin();
        System.out.println(t);
       }
    }
      

  6.   

    为什么要 String t= new Star5().dayin();呢
    直接用new Star5().dayin();不是已经调用了dayin()了吗?为什么没有返回t?
      

  7.   

    为什么要 String t= new Star5().dayin();呢
    直接用new Star5().dayin();不是已经调用了dayin()了吗?为什么没有返回t?那位大哥帮忙解释一下。
      

  8.   

    难道不需要对象接收吗?
    你去翻翻书!!!
    你上面这种写法只会产生一个临时的对象!!
    那个T是局部的~~除非你提到外面来做一个全局的!!
    去看看书把~~~继承里面有说!!
    如果真的要用你那种new star5().dayin()这样!!你要反在一个什么东西里面!!
    比如打印!!象这样:system.out.println(new star5().dayin());