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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mokill0911 中级黑马   /  2014-7-14 02:33  /  1504 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Mokill0911 于 2014-7-15 22:47 编辑

复习同步锁的时候把单例设计模式翻出来练习了一下。

然后发现在主函数里面想要创建一个单例模式的对象时总报找不到符号错误,看了好久眼睛的花了也没找到问题。

发上来请各位童鞋帮个小忙,先谢过啦。

  1. //懒汉式;

  2. class Single
  3. {
  4.         private static Single s= null;

  5.         private Single(){}

  6.         public static Single getIntce()
  7.         {
  8.                 if(s== null)
  9.                 {
  10.                         s= new Single();
  11.                 }
  12.         return s;
  13.         }

  14.         public static void show()
  15.         {
  16.                 System.out.println("Single run...");
  17.         }
  18. }

  19. class SingleDemo
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Single se= new Single.getIntce();
  24.         // 55行                             ^找不到符号
  25.                 se.show();
  26.         }

  27. }
复制代码



12 个回复

倒序浏览
沙发自己坐。。

一直很想吐槽那个文章类别的选项要不要那么纠结……
回复 使用道具 举报
public static Single getIntce()是静态方法  前面多个new
回复 使用道具 举报
Single se=Single.getIntce();

用类名调用静态方法,去掉new
回复 使用道具 举报
你的single类里面getInstance就是获取类的实例,所以在主函数里不需要再次调用new,只需调用getInstance方法就得得到实例。
回复 使用道具 举报
胥亮 发表于 2014-7-14 06:48
public static Single getIntce()是静态方法  前面多个new

灰常感谢!!!
回复 使用道具 举报
sugar 发表于 2014-7-14 08:05
Single se=Single.getIntce();

用类名调用静态方法,去掉new

把那天的视频翻出来复习了一下。。

果然基础很重要啊!!! 谢谢!
回复 使用道具 举报
troy健 发表于 2014-7-14 08:49
你的single类里面getInstance就是获取类的实例,所以在主函数里不需要再次调用new,只需调用getInstance方 ...

基础不牢靠+熬夜 = = 果然会出问题啊。。 灰常感谢!!!
回复 使用道具 举报
总结的很好!
回复 使用道具 举报
大家都回复的好快~~问题都没得解答了~
回复 使用道具 举报
楼主 ,静态方法,不能用new的
回复 使用道具 举报
学习了 。
回复 使用道具 举报
学习了!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马