java中static的作用
来源:互联网 发布:数组下标长度没有限制 编辑:程序博客网 时间:2024/05/21 08:00
static是表示的是静态修饰符。
什么是静态修饰符呢?大家都知道,在程序中任何变量或者代码都是编译时由系统自动分配内存来存储。
所谓静态的,就是指编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。
在java程序中,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员
。还有一种就是通过static声明来实现。如下所示
定义静态方法
public class Student {
public static String x1(){
return "你好啊,测试static";
}
}
测试时可以直接通过类名来调用
public static void main(String[] args) {
String a= Student.x1();
System.out.println(a);
}
}
---------------------------------------------------------------------------------------------------
然后就是被static修饰过的成员变量,如下示例
public class Student {
static int i;
public static String x1(){
return "你好啊,测试static";
}
//以下为带参无参的两个构造方法
public Student(){
i=4;
}
public Student(int j){
i=j;
}
}
String a= Student.x1();
System.out.println(a);
//----------------------------------------------
Student s=new Student(5);
Student ss = new Student();
System.out.println(s.i);
System.out.println(ss.i);
System.out.println(s.i);
}
这段代码中Student类中有静态变量i,有两个构造方法,第一个将i的值初始为4,第二个用于初始化i为传进函数的值,在main中所传的值是5。
程序首先声明的是带参数的构造方法,此时i=5,第二个声明了无参的构造方法,此时i=4。那么按照输出语句依次执行应该是5,4,4。
可是程序走到了最后输出的是4,4,4。这是因为成员变量i是static声明的,该类中的所有对象共享这个成员变量i。在main方法中第一个i被实例化成了5是没错,
紧接着i就被实例化为4,那么之前实例化的那个成员变量i也变成了4,所以输出结果为4,4,4
静态代码块如下
static
{
System.out.println("我是静态代码块");
}
一个类加载的时候会执行一次static代码块,只会执行一次,不会执行第二次。
- java中static的作用
- Java中static的作用
- Java中static的作用
- Java中static的作用
- java中static的作用
- Java中static的作用
- java中static的作用
- Java中static的作用
- java中Static的作用
- Java中static的作用
- java中static的作用
- Java中static的作用
- java中Static的作用
- Java中static的作用
- java中static的作用
- java中static的作用
- Java中static的作用
- Java中Static的作用
- 前端了解到的一些事
- Python pickle序列化模块
- iOS push的侧滑返回功能
- javaBean的使用
- 拦截器与过滤器Filter的区别
- java中static的作用
- Java设计模式-装饰者模式
- Windows下使用redis
- iTerm2 配置
- c#事件介绍
- POJ2376 Cleaning Shifts (贪心)
- JVM高级特性与实践(三):垃圾收集算法 与 垃圾收集器实现
- json数据的读取等操作
- c盘满了怎么重装系统?这三招你需要知道!