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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 武汉分校-小舞 于 2016-9-1 15:27 编辑

【趣味Java】面向对象三
剧情回顾:
上一集讲到了一个完整的类的创建,属性需要封装,需要有构造方法,需要有getset,方法,那么我们以不管写什么类都按照上述格式来写就可以。

本集剧情:
代码块:静态代码块:随着类加载,在类中,方法外
     局部代码块:方法内
     构造代码块:在类中方法外

上述三种代码块,不管怎么样他们都是代码块,
所以我们首先搞懂什么是代码块!!
代码块:被大括号括起来的都是代码块,就这么简单!!
代码块做些什么事情?之前方法是不调用不执行,那么代码快呢?
静态代码块:随着类的加载就执行     
语法:static {里面你想写的代码就可以了}
局部代码块:随着方法的调用而执行   
语法:方法里面写个{里面你想写的代码就可以了}O
构造代码块:在创建对象的时候调用  
语法:在类中方法外写个{里面你想写的代码就可以了}就可以了

上面这些代码块的的区别:
位置的不同
静态代码块:随着类加载,在类中,方法外
局部代码块:方法内
构造代码块:在类中方法外
语法不同:这里就不写了都在上面的语法中。
执行顺序不同看下面代码就知道了:
这是以上的几个代码块的写法,还加了一个构造方法,更清晰的看到先后顺序
运行结果

由此可以看出来静态在最前面,然后构造代码块在创建对象的时候调用,但是先于构造方法执行(这个需要记住),然后就局部代码块,跟方法一样不调用不执行。

静态关键字:static

先说概念:静态就是被所有类共享的。。。。。。。。概念说了还是一脸的蒙蔽
那么直接撸代码吧:往下看
一个教室的类,里面有一个饮水机,饮水机里有100L升水
然后很多学生去接水:
根据上面的代码学生2去接水的时候应该只剩99L了但是请看结果:
????不科学啊?怎么还剩100升水呢,我们推理一下,真相永远只有一个!!!
那就是因为这两个学员(对象)用的根本不是一个饮水机(属性没有共享)
那么我们要做的就是把饮水机让每个学员用的是一样的(属性共享)
Java中为我们提供了这样一个神奇的关键字static
概念上面也说过一次这里就不说了,直接撸代码:
//直接用static 修饰
我们再看结果:
通过上述案例我们知道static的应用,属性需要被每个对象的所共同拥有的时候就要用static修饰。

1 个回复

倒序浏览
你知道“静态关键字:static”是什么么,看完就知道啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马