Java在主类中定义方法加static和不加static的区别

Java中主类中定义方法加static和不加static的区别

static的作用:

将属性或者方法修饰为该类的共享成员,即这个属性或方法是该类实例化的所有对象之间共享的,不为某个实例对象所独有,static属性或方法是存储在内存的公共区,一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间。
static的变量是在类装载的时候就会被初始化,即,只要类被装载,不管是否使用了static变量,都会被初始化。

static的基本规则:

1.一个类的静态方法只能访问静态属性
2·一个类的静态方法不能直接调用非静态方法
3·如访问控制权限允许,static属性和方法可以使用类名加“.”的方式调用,也可以使用实例加“.”的方式调用
4·静态方法中不存在当前对象,因而不能使用this,也不能使用super
5·静态方法不能被非静态方法覆盖
6·构造方法不允许声明为static的

注:

非静态变量只限于实例,并只能通过实例引用被访问。
静态方法可以省略类名直接在主方法调用,非静态方法必须先实例化后再用实例调用。

转载:https://blog.csdn.net/weixin_43671243/article/details/104884016?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162242822816780261935716%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162242822816780261935716&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-104884016.pc_search_result_control_group&utm_term=Java%E4%B8%AD%E5%8A%A0%E4%B8%8D%E5%8A%A0static%E7%9A%84%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

Guess you like

Origin blog.csdn.net/weixin_48929324/article/details/117411648