java-static静态修饰符

简介: 静态修饰符 静态方法 可以与 普通方法 或者 静态方法 重载 静态属性 和 静态方法 可以被继承,但是 静态方法 不能被重写 static 不可以修饰局部变量,所以静态方法和非静态方法中的变量都不能定义为静态变量 static可以修饰:属性,方法,代码段,内部类(静态内部类) 静态变量被所有的对象.

静态修饰符

静态方法 可以与 普通方法 或者 静态方法 重载

静态属性 和 静态方法 可以被继承,但是 静态方法 不能被重写

static 不可以修饰局部变量,所以静态方法和非静态方法中的变量都不能定义为静态变量

static可以修饰:属性,方法,代码段,内部类(静态内部类)

静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化,初始化后可以被改变

静态代码块,在虚拟机加载类的时候就会加载执行,而且只执行一次,只能调用静态变量和静态方法;

静态方法中直接不能访问类的非静态成员变量和非静态成员方法,只能直接访问静态成员变量、静态成员方法, 因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用;

非静态成员方法中是可以访问类的静态成员方法/变量

非静态代码块,在创建对象的时候(即new一个对象的时候)执行,每次创建对象都会执行一次;

static修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能通过类名调用static修饰的属性、方法等。

static 和 this 、super 势不两立,static 跟具体对象无关,而 this 、 super 正好跟具体对象有关

在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法,则会为这些成员变量和成员方法在固定的位置开辟一个固定大小的内存区域(只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们)

普通方法中可以通过this调用静态方法

静态方法中不能定义静态变量,因为static不能修饰局部变量

相关文章
|
29天前
|
存储 Java
Java 中的静态(static)
【10月更文挑战第15天】静态是 Java 语言中一个非常重要的特性,它为我们提供了一种方便、高效的方式来管理和共享资源。然而,在使用过程中,我们需要谨慎考虑其优缺点,以确保代码的质量和可维护性。
|
2月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
30 3
|
2月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
23 5
|
2月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
211 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
3月前
|
存储 Java
Java之静态(static)与实例(instance)
Java之静态(static)与实例(instance)
|
4月前
|
Java
【Java基础面试四十一】、说一说你对static关键字的理解
这篇文章主要介绍了Java中static关键字的概念和使用规则,强调了类成员与实例成员的区别及其作用域的限制。
|
4月前
|
存储 Java 对象存储
【Java基础面试四十三】、 static和final有什么区别?
由于网络原因,我无法获取到您提供的链接内容。如果需要我解析该网页,请确保链接有效并重试,或者提供其他问题,我会尽力帮助您。
|
4月前
|
Java
【Java基础面试四十二】、 static修饰的类能不能被继承?
这篇文章讨论了Java中static关键字修饰的类是否可以被继承,解释了静态内部类的概念、规则以及如何实例化。
|
4月前
|
Java
【Java】static 类方法中注意事项
【Java】static 类方法中注意事项
|
4月前
|
Java
【Java】static 修饰成员方法
【Java】static 修饰成员方法