JavaSE小笔记--08静态static

1.static关键字

 

1)使用static关键字可以修饰成员变量,称为静态变量

 

2)实例变量属于某个具体的对象,静态变量不属于某个对象,整个类所共享

 

3)通过一个对象修改了静态变量,再通过其他对象访问静态变量时就是修改之后的值

 

4)静态变量存储在方法区中,所有的对象都可以访问到它

 

5)实例变量是在创建对象时在堆中分配存储空间,对象被垃圾回收器收走,实例变量就释放了;静态变量在类加载内存时就在方法区中分配存储空间,一直到程序的结束

 

6)建议直接使用类名.来访问静态变量

 

7)静态变量的应用场景:当某个数据需要对所有对象共享时,就可以把这个数据定义为静态的
 

注意事项:

 

a:在静态方法中是没有this关键字的

 

因为:静态是随着类的加载而加载,this是随着对象的创建而存在。静态比对象先存在。

 

b:静态方法只能访问静态的成员变量和静态的成员方法

 

静态方法:

 

成员变量:只能访问静态变量——非静态的成员属于某个对象,在使用静态方法时,还没有创建对象呢

 

成员方法:只能访问静态成员方法

 

非静态方法

 

成员变量:可以是静态的,也可以是非静态的

 

成员方法:可以是静态的成员方法,也可以是非静态的成员方法

 

简单记:静态只能访问静态。

 

静态方法的应用场景:一般情况下,定义工具类的时候,可以使用静态方法。如果一个类中所有的方法都是静态的,需要多做一步:私有构造方法,为了不让其他类创建对象,直接用类名.调用即可。

 

2.静态变量和成员变量的区别

 

静态变量也叫类变量,成员变量也叫对象变量

 

A:所属不同

 

静态变量属于类,所以也称为类变量

 

成员变量属于对象,所以也称为实例变量(对象变量)

 

B:内存中位置不同

 

静态变量存储于方法区的静态区

 

成员变量存储于堆内存

 

C:内存出现时间不同

 

静态变量随着类的加载而加载,随着类的消失而消失

 

成员变量随着对象的创建而存在,随着对象的消失而消失

 

D:调用不同

 

静态变量可以通过类名调用,也可以通过对象调用(建议使用类名.调用)

 

成员变量只能通过对象名调用

 

3.静态构造代码块

 

1)使用 static可以修饰构造代码块,称为静态构造代码块

 

2)在使用某个类时,类加载器把字节码文件加载到内存中,在类使用之前需要对类进行初始化,类初始化之前先执行静态构造代码块

 

3)因为类的初始化只有一次,所以静态构造代码块也只执行一次

 

4)应用场景——有的时候,在使用某个类时,这个可能需要依赖一些外部资源,在使用类之前需要先把这些资源加载到类中

 

就可以把加载外部资源的操作放在静态构造代码块中

 

4.main方法格式详解

 

public:被jvm调用,所以权限要足够大

 

static:被jvm调用,不需要创建对象,直接类名.调用即可

 

void:被jvm调用,不需要有任何的返回值

 

main:只有这样写才能被jvm识别,main不是关键字

 

String [] args:以前是用来接收键盘录入的

 

5.说明书制作过程

 

A:对类加入文档注释

 

B:通过javadoc命令生成说明书

 

@author(提取作者内容)

 

@version(提取版本内容)

 

javadoc -d指定的文件目录- author -version 类名.java

 

@param    参数名称//形式参数的变量名称 

 

@return    函数运行完返回的数据

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值