黑马程序员--static、主函数

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


static


当成员被static修饰后,多了一种访问方式,除了可以对象调用之外,还可以被类名直接调用(类名.静态成员)


static的特点
1.随着类的加载而被加载
2.优先于对象的存在
3.被所有的对象所共享
4.可以直接被类名所调用




1.类变量(静态变量)随着类的加载而存在于data内存区


2.实例变量随着对象的建立而存在于堆内存






生命周期
1.类变量生命周期最长,随着类的消失而消失
2.实例变量生命周期比类变量短,它是随着对象的消失而消失。


方法注意事项:
1.静态的方法只能访问静态的成员。
2.非静态的方法既能访问静态的成员(成员变量、成员方法),也能访问非静态的成员。
3.静态的方法中是不可以定义this,super关键字,因为静态优先于对象存在,所以静态方法不可以出现this。






什么时候用静态?


static所修饰的内容是成员(成员变量,方法)


从两方面入手
1.什么时候使用静态的成员变量?
当属于同一个类的所有对象出现共享数据时,需要将存储这个共享数据的成员变量用static修饰。


2.什么时候使用静态的成员方法?
当功能内部没有访问到非静态的成员时,(对象特有的数据)那么该功能可以定义成静态的。






主函数(主方法)
1.public(访问修饰符,公共的)代表该类或者改函数访问权限是最大的。


2.static 代表主函数随着类的加载就已经存在了。


3.void 代表主函数没有具体的返回值


4.main 不是Java中的一个关键字,它是一个特殊的单词,它能够被jvm(java虚拟机)所识别


5.String[] args 函数的参数,参数类型是一个字符串数组,该数组的元素是字符串。






静态应用工具类


每一个应用程序都有共性的功能,
可以将这些功能进行抽取,独立封装。以使复用




对象的作用:对象是用来封装数据的,只要这个类里面有非静态的成员时,那么对象就必须存在。




path:主要功能是设置jdk的可执行命令


classpath:主要是在执行的时候起作用,告诉jvm类所保存的路径。




对象初始化过程:


1.因为new Student()用到了Student类,所以会把它从硬盘上加载进入内存。


2.如果有static静态代码块就会随着类的加载而执行,还有静态成员和普通方法也会随着类的加载而被加载。


3.在堆中建立对象(开辟空间),分配内存地址


4.在堆中建立对象特有属性,并同时对特有属性进行默认初始化。


5.对属性进行显示初始化


6.执行构造代码块,对所有对象进行初始化


7.执行对应的构造函数,对对象进行初始化


8.将内存地址给s(给栈中的变量)


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值