从零开始的JAVA编程之Static的详解

本文详细探讨了Java中的static关键字,包括static方法和变量的特性。static方法无需对象即可调用,主要用于工具类或公共方法。static变量在类加载时初始化,所有实例共享同一副本。main方法为static是因为程序启动时未创建对象,必须通过类名调用。了解这些概念有助于更好地设计和使用Java类。
摘要由CSDN通过智能技术生成
static详细分析:
1.首先关于static修饰的方法的解释:

“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”

​ 总结: 方便在没有创建对象的情况下来进行调用(方法/变量)。

​ 很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。

2.static 变量:

​ static变量也被称为静态变量,静态变量与非静态变量的区别就是:静态方法是被所有的对象共享的,在内存中只存在一个副本,当它在类初次加载的时候就被初始化了。而非静态变量是所有的对象共有的,在创建对象初始化的时候,存在多个副本,各个对象拥有的副本互相不影响。

​ static成员变量的初始化顺序按照定义的顺序进行初始化。

3.static 方法:

​ static方法被称为静态方法,由于静态方法不依赖于任何对象就可以访问,因此对于静态方法来说,是没有this的。并且静态方法中是不能访问非静态的方法和成员变量的,因为静态成员方法/变量是必须依赖于类才能访问的。但在非静态方法中是可以访问静态方法的。

image-20200928193924974

​ 我们最常见的static方法就是main方法,至于为什么main方法必须是static的,现在就很清楚了。因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值