黑马程序员技术交流社区

标题: 求教啊,我没理解这两个程序 [打印本页]

作者: 硫氢化铁    时间: 2015-3-3 10:24
标题: 求教啊,我没理解这两个程序
那个大神能给讲一下这两个程序的流程的区别,主要还是没看懂静态那块

360截图20150303101855548.jpg (111.12 KB, 下载次数: 16)

360截图20150303101855548.jpg

360截图20150303102431131.jpg (113.24 KB, 下载次数: 14)

360截图20150303102431131.jpg

作者: alvis2015    时间: 2015-3-3 10:45
static(静态)是成员修饰符,用于修饰类的成员,比如成员属性和成员函数。用这个关键字修饰后,表示这个成员随着类的加载而加载,即类只要一进入内存,被static修饰的成员也同时进入了内存,说明这个成员是跟类在一起的,可以直接用类名.成员的方式调用,而不用先创建一个对象再调用。
简单一句话:
static修饰的成员属于类,直接用类名可以调用。
没有static修饰的成员属于类的实例对象,必须要先创建对象才能够调用。
作者: 硫氢化铁    时间: 2015-3-3 10:53
alvis2015 发表于 2015-3-3 10:45
static(静态)是成员修饰符,用于修饰类的成员,比如成员属性和成员函数。用这个关键字修饰后,表示这个成 ...

那我上面的第二个程序那个字符串String name 并没有在Person函数内,为什么能输出?
作者: zfgrinm    时间: 2015-3-3 12:10
第二个程序里Person类里show和类都是非静态且没被私有,你建立了该类对象,就是直接是对象调用成员了,当然能输出..
作者: 艺多不压身丶    时间: 2015-3-3 12:12
哥们程序都写反了。
作者: shuren2015    时间: 2015-3-3 12:58
静态很重要,哥们任重而道远啊
作者: alvis2015    时间: 2015-3-3 13:09
硫氢化铁 发表于 2015-3-3 10:53
那我上面的第二个程序那个字符串String name 并没有在Person函数内,为什么能输出? ...

String name作为类的成员,在创建对象的时候,这个name就存放于对象中,当然可以输出啦。
作者: woshishei121    时间: 2015-3-3 14:10
给力,回答的不错
作者: 硫氢化铁    时间: 2015-3-3 15:16
shuren2015 发表于 2015-3-3 12:58
静态很重要,哥们任重而道远啊

今天看了好几遍了,又晕了
作者: 硫氢化铁    时间: 2015-3-3 15:17
alvis2015 发表于 2015-3-3 13:09
String name作为类的成员,在创建对象的时候,这个name就存放于对象中,当然可以输出啦。 ...

哦,这样啊,谢了啊
作者: 硫氢化铁    时间: 2015-3-3 15:20
艺多不压身丶 发表于 2015-3-3 12:12
哥们程序都写反了。

额,我是照片顺序反了:P




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