static修饰符和特点

1.static的引出理由

1)对象小明跟小丽都有都有name和age两个状态,但是不同对象的name的值和age的值是不一样的,也就是说不同对象的name和age是不同的
Person p1 =new Person();
p1.name=”小明”; p1.age=”18”;
Person p2 =new Person();
p2.name=”小丽”; p2.age=”20”;
System.out.println(p1.name+”,”+p2.name);//输出为”18,20”
2)从这里可以看出,name和age是属于对象的,不同对象的name和age是不一样的,但是在生活中有一些东西不是属于某一个具体对象,而是属于整个事物的类型的,比如:全人类,人类的睡觉行为
3)状态和行为应该有对象和类型之分
a.有的状态和行为应该属于对象,不同的对象,状态和行为可以不一样
b.有的状态和行为应该属于类型,不属于对象
要想解决上述问题应该学习static修饰符,修饰符是用于限定类型以及类型成员的申明的一种符号。

2.static修饰符特点

1)static修饰符的成员(字段/方法),随着所在类的加载而加载
当JVM把字节码加载进JVM的时候,static修饰符成员已经在内存中存在了。//因为字节码是由类在编译器编译产生的,所以才会说”随着所在类的加载而加载”
2)优先与对象的存在
对象是我们手动通过new关键字创建出来的,这样才会在内存中占用空间,而static修饰的成员是在加载类后,就会存在
3)static修饰的成员被该类型的所有对象所共享
根据该类创建出来的任何对象,都可以访问static成员(例如狗这个对象天生吃屎,吃屎可以看成一个方法)
注意:表面上通过对象去访问static成员,其本质依然使用类名访问,和对象没有关系
4)直接使用类名访问static成员
因为static修饰的成员直接属于类,不属于对象,所以可以直接类名访问static成员(例如类B要访问类A中的方法,那么类B先找到类A,再找到方法,类A.方法名)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值