黑马程序员技术交流社区

标题: 第06天-06-面向对象(静态代码块) [打印本页]

作者: 周志伟    时间: 2013-4-7 01:59
标题: 第06天-06-面向对象(静态代码块)
本帖最后由 周志伟 于 2013-4-7 20:57 编辑
  1. class StaticCode
  2. {
  3.         static
  4.         {
  5.                 System.out.println("a");
  6.         }
  7. }

  8. class StaticCodeDemo
  9. {
  10.         static
  11.         {
  12.                 System.out.println("b");
  13.         }
  14.         
  15.         public static void main(String[] args)
  16.         {
  17.                 new StaticCode();//这里为什么不是StaticCode s1 = new StaticCode();?????????????????
  18.                 new StaticCode();//这里为什么不是StaticCode s2 = new StaticCode();?????????????????
  19.                 System.out.println("over");
  20.         }
  21.         static
  22.         {
  23.                 System.out.println("c");
  24.         }

  25. }
复制代码

作者: 周志伟    时间: 2013-4-7 02:12
本帖最后由 周志伟 于 2013-4-7 02:13 编辑
  1. class StaticCode
  2. {
  3.         static
  4.         {
  5.                 System.out.println("a");
  6.         }
  7. }

  8. class StaticCodeDemo
  9. {
  10.         static
  11.         {
  12.                 System.out.println("b");
  13.         }
  14.         
  15.         public static void main(String[] args)
  16.         {
  17.                 StaticCode s = null;
  18.                  s = new StaticCode();//为什么不是:StaticCode s = new StaticCode();?????????????????????????????
  19.                                                   //                      s.show();?????????????????????????????

  20.                  StaticCode.show();
  21.         }
  22.         static
  23.         {
  24.                 System.out.println("c");
  25.         }

  26. }
复制代码

作者: 曹宇    时间: 2013-4-7 02:34
new StaticCode();//这里为什么不是StaticCode s1 = new StaticCode();?????????????????

19.                new StaticCode();//这里为什么不是StaticCode s2 = new StaticCode();?????????????????


不知道你学到了 匿名对象没?》


此处创建的是StaticCode类的匿名对象。
匿名对象并不会一直存在。
当主函数对其的调用语句执行完毕之后,就被释放了。

具体请参看毕老师的 第五天05那个视频,讲解匿名对象。


作者: 周志伟    时间: 2013-4-7 02:39
曹宇 发表于 2013-4-7 02:34
new StaticCode();//这里为什么不是StaticCode s1 = new StaticCode();?????????????????

19.             ...

好的,谢谢了,我看过了第5天的视频,只是,看来没有练习,做习题,掌握的不好啊,都忘记了。
作者: 曹宇    时间: 2013-4-7 02:43
周志伟 发表于 2013-4-7 02:12

StaticCode s = null;

19.                 s = new StaticCode();//为什么不是:StaticCode s = new StaticCode();?????????????????????????????



此处有两点不同。
因为不知道具体的需求是什么,我也就只说说这两种创建对象的不同。

StaticCode s=new StaticCode();
此方法是直接创建了一个StaticCode类型的引用型变量,指向了新创建的StaticCode对象。

StaticCode s=null;
s=new StaticCode();
此处是先创建了一个StaticCode类型的引用型变量s  其值为空。就是没有任何的指向。
然后才创建了StaticCode的对象,将s的引用指向了这个对象。

根据问题的需求不同,创建的方式也不同,这个要看需求。没什么为什么一说,需求不同,方式不同。
只要理解这两种方式的意思,以后再使用的时候酌情选择就行了。
直接这样
StaticCode s=null;
s=new StaticCode();
应该是和第一种方式没有什么区别,且没有什么意义。
举个例子:
StaticCode s=null;
if(s==null)
{
    s=new StaticCode();
}
else
{
    干啥干啥的。
}

就是可能有某一种需求,是需要当前的指向为空,或者说没有对象的时候才去创建对象,如果有了对象的话,就不去创建对象,而去做别的某一些操作等等。

理解就好,以后会用到的!


作者: 曹宇    时间: 2013-4-7 02:50
周志伟 发表于 2013-4-7 02:39
好的,谢谢了,我看过了第5天的视频,只是,看来没有练习,做习题,掌握的不好啊,都忘记了。 ...

恩,我也初学者,看到了13天。

建议如果你不赶某一期,时间充足的情况下,还是看完一天的视频,然后花时间去做做习题,没有习题,就将老师说的内容,自己去完成一下,加深记忆,孰能生巧。

编程这东西,初学的时候晕,只有多写代码,多出错误,才能得以提高。
出错误不是坏事,编译错误见多了,以后没什么编译错误能难倒你,这是经验的积累。
加油。

祝你成功。
作者: 周志伟    时间: 2013-4-7 03:15
曹宇 发表于 2013-4-7 02:50
恩,我也初学者,看到了13天。

建议如果你不赶某一期,时间充足的情况下,还是看完一天的视频,然后花时 ...

好的,谢谢啦,我再认真仔细的看看你的回复,对了。你的QQ多少啊?我加你,方便以后交流。
作者: 周志伟    时间: 2013-4-7 03:16
曹宇 发表于 2013-4-7 02:50
恩,我也初学者,看到了13天。

建议如果你不赶某一期,时间充足的情况下,还是看完一天的视频,然后花时 ...

我的QQ是:726367601
作者: 曹宇    时间: 2013-4-7 03:20
周志伟 发表于 2013-4-7 03:16
我的QQ是:726367601

546276012

恩,大家互相交流
作者: 通行天下    时间: 2013-4-7 08:27
还没学到这了,看来的加油啦!
作者: 我手心里的宝    时间: 2013-4-7 08:32
这就是一个匿名对象的调用
在这里,你只需使用一次调试程序
所以用匿名对象即可,后边你就会学到了
作者: 刘胜寒    时间: 2013-4-7 09:55
这都可以....
作者: 黄玉昆    时间: 2013-4-7 18:56
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
作者: 周志伟    时间: 2013-4-7 20:19
我手心里的宝 发表于 2013-4-7 08:32
这就是一个匿名对象的调用
在这里,你只需使用一次调试程序
所以用匿名对象即可,后边你就会学到了 ...

好的,知道了,再回去看看视频,消化一下。
作者: 陈宇鹏    时间: 2013-4-7 21:10
匿名对象的问题。
当匿名对象仅仅调用一次时候,就不需要再起名字。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2