java-static静态修饰符

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

静态修饰符

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章
|
25天前
|
Java
Java基础—笔记—static篇
`static`关键字用于声明静态变量和方法,在类加载时初始化,只有一份共享内存。静态变量可通过类名或对象访问,但推荐使用类名。静态方法无`this`,不能访问实例成员,常用于工具类。静态代码块在类加载时执行一次,用于初始化静态成员。
10 0
|
5月前
|
Java
Java语言特性:什么是静态关键字(static)?
Java语言特性:什么是静态关键字(static)?
152 0
|
5月前
|
Java
Java(十六)static关键字
Java(十六)static关键字
23 0
|
5月前
|
Java
【零基础学Java】—static关键字概述(十六)
【零基础学Java】—static关键字概述(十六)
【零基础学Java】—static关键字概述(十六)
|
8月前
|
Java C++ Python
Java 的关键字 final 和 static
Java 中最经典 final 修饰的类就是 String 了,它无法被任何类继承,不仅仅是为了保证 String 的不变性,同时在早期的 Java 版本中会将 final 修饰的方法转化为内嵌调用,提高程序性能(后来的 Java 会自动进行优化,不需要显式地用 final 修饰)。不过要注意的一点是,final 修饰的引用变量,其指向的对象的内容是可以被改变的。final 修饰符可以用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
42 0
|
1月前
|
Java
java-基础-Interface、abstract类、Static class 、non static class的区别
【4月更文挑战第5天】Java中的接口、抽象类、静态类和非静态类各具特色:接口仅含抽象方法和常量,用于定义行为规范;抽象类可包含抽象和非抽象方法,提供部分实现,支持多继承;静态内部类不依赖外部类实例,可独立存在,访问外部类的静态成员;非静态内部类持有关联外部类引用,能访问其所有成员。这些机制根据设计需求和场景选择使用。
14 6
|
2月前
|
存储 Java
【Java】深入理解Java中的static关键字
【Java】深入理解Java中的static关键字
27 0
|
7月前
|
Java
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
|
3月前
|
存储 设计模式 缓存
Java 中的 static:静态变量、静态方法,一切都在掌握中
Java 中的 static:静态变量、静态方法,一切都在掌握中
428 0
|
4月前
|
存储 缓存 Java
【java】static关键字
【java】static关键字
17 0