A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ccyznhy 中级黑马   /  2013-6-22 23:21  /  1871 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-27 07:06 编辑

问题:
class TestStatic
{
    public static void main(String[] args)
    {
        Person.show();
    }
}
class Person
{
    static String country="中国";
    String name;
    public static String show()
        {
            return country;
        }
}
编译通过,运行也没问题,但为何打印不出静态成员country的赋值“中国”?(打印无结果)


评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

11 个回复

倒序浏览
调用show方法,只是返回country的值,楼主并没有写输出打印语句,所以只执行了调用过程程序就结束了。要显示的话,要写打印输出语句。System.out.println();

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你只调用方法得到String,main方法里面没有输出,还有你这个是单例模式的饿汉式吗?NONONO,要先私有构造函数。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
你只调用方法得到String,main方法里面没有输出,还有你这个是单例模式的饿汉式吗?NONONO,要先私有构造函数。
回复 使用道具 举报
你这只是返回了country的值.要向输出应该这样写:  定义一个String类型的变量 String country=Person.show(),再用system.out.println(country)输出一下。就能得到你想要的结果!

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
刚刚自己想明白了!!丢人了
回复 使用道具 举报
写个打印输出语句,就可以了
  1. package com.itheima;

  2.         class TestStatic
  3.         {
  4.             public static void main(String[] args)
  5.             {
  6.                 System.out.println(Person.show());
  7.             }
  8.         }
  9.         class Person
  10.         {
  11.             static String country="中国";
  12.             String name;
  13.             public static String show()
  14.         {
  15.             return country;
  16.         }
  17.         }


复制代码
回复 使用道具 举报
刚刚自己想明白了,多谢大家指点!!! 现在大家都没睡呢?得学到几点啊?我是新手,还在自学中。。。
回复 使用道具 举报
陈鹏 中级黑马 2013-6-23 00:15:26
9#
  1. class TestStatic
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         //Person.show();
  6.                 Person p=new Person();
  7.                 String s=p.show();
  8.                 System.out.println(s);
  9.         }
  10. }
  11. class Person
  12. {
  13.     static String country="中国";
  14.     String name;
  15.     public static String show()
  16.     {
  17.                 return country;
  18.         }
  19. }
复制代码
结果就是中国

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
楼主您好。我已将您的帖子改成已解决。如果帖子发布长时间没加分。及时联系我。以免漏分的情况发生{:soso_e100:}
回复 使用道具 举报
打印输出就ok啦。。给你一个标准的
  1. class Test5 {
  2.         public static void main(String[] args) {
  3.             Person p=new Person("zhangsan");
  4.             p.say();
  5.         }
  6. }

  7. class Person {
  8.         private static String country = "中国";
  9.         private String name;

  10.         Person(String name) {
  11.                 this.name = name;
  12.         }

  13.         public static String show() {
  14.                 return country;
  15.         }

  16.         public void say() {
  17.                 System.out.println("我的名字是:" + name + "我的国籍是:" + country);
  18.         }
  19. }
复制代码
回复 使用道具 举报
你有没有写System.out.print(Person.show())
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马