本帖最后由 武汉分校-小舞 于 2016-9-1 15:27 编辑
剧情回顾: 上一集讲到了一个完整的类的创建,属性需要封装,需要有构造方法,需要有get,set,方法,那么我们以不管写什么类都按照上述格式来写就可以。
本集剧情: 代码块:静态代码块:随着类加载,在类中,方法外 局部代码块:方法内 构造代码块:在类中方法外
上述三种代码块,不管怎么样他们都是代码块, 所以我们首先搞懂什么是代码块!! 代码块:被大括号括起来的都是代码块,就这么简单!! 代码块做些什么事情?之前方法是不调用不执行,那么代码快呢? 静态代码块:随着类的加载就执行 语法:static {里面你想写的代码就可以了} 局部代码块:随着方法的调用而执行 语法:方法里面写个{里面你想写的代码就可以了}就O了 构造代码块:在创建对象的时候调用 语法:在类中方法外写个{里面你想写的代码就可以了}就可以了
上面这些代码块的的区别: 位置的不同: 静态代码块:随着类加载,在类中,方法外 局部代码块:方法内 构造代码块:在类中方法外 语法不同:这里就不写了都在上面的语法中。 执行顺序不同看下面代码就知道了: 这是以上的几个代码块的写法,还加了一个构造方法,更清晰的看到先后顺序 运行结果
由此可以看出来静态在最前面,然后构造代码块在创建对象的时候调用,但是先于构造方法执行(这个需要记住),然后就局部代码块,跟方法一样不调用不执行。
静态关键字:static
先说概念:静态就是被所有类共享的。。。。。。。。概念说了还是一脸的蒙蔽 那么直接撸代码吧:往下看 一个教室的类,里面有一个饮水机,饮水机里有100L升水 然后很多学生去接水: 根据上面的代码学生2去接水的时候应该只剩99L了但是请看结果: ????不科学啊?怎么还剩100升水呢,我们推理一下,真相永远只有一个!!! 那就是因为这两个学员(对象)用的根本不是一个饮水机(属性没有共享)!! 那么我们要做的就是把饮水机让每个学员用的是一样的(属性共享) Java中为我们提供了这样一个神奇的关键字static 概念上面也说过一次这里就不说了,直接撸代码: //直接用static 修饰 我们再看结果: 通过上述案例我们知道static的应用,属性需要被每个对象的所共同拥有的时候就要用static修饰。
|