Java staict关键字
2018-03-21 20:58
197 查看
static关键字static 静态修饰关键字,可以修饰 变量,程序块,类的方法。被修饰的变量表示为类的所有对象所共有的变量,被修饰的方法表示为类的方法。
当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;如果static修饰一个程序块的时候(像static{...}),jvm会优先加载静态块中的代码。static的作用域是类而并非是某个具体对象。
静态方法声明static方法有以下限制:
·静态方法仅能调用其他静态方法。
·静态方法只能访问static数据。
·静态方法不能引用任何形式的this或者supper。
class Test{
static void test(){
System.out.println("Wlecome");
}
}
public class call{
public static void main(String[] args){
Test.go();
}
}
静态变量当一个变量声明为static变量实质上就是一个全局变量。当声明一个对象时,并不产生static变量。而是所有该类的实例都共用这一个static变量。静态变量与静态方法类似,所有该类实例共享此静态变量。在类装载时,只分配一块空间,所有类的对象都可以操作。
class Value { static int c = 0; static void inc() { c++; }}public class Count2 { public static void prt(String s) { System.out.print(s); } public static void main(String[] args) { Value v1, v2; v1 = new Value(); v2 = new Value(); prt("v1.c=" + v1.c + " v2.c=" + v2.c); v1.inc(); prt(" v1.c=" + v1.c + " v2.c=" + v2.c); }}结果为:v1.c=0 v2.c=0 v1.c=1 v2.c=1
静态代码块静态代码块在类被初次加载的时候,会按照static块的顺序来执行每个static块,并且每个static块只会执行一次。
当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;如果static修饰一个程序块的时候(像static{...}),jvm会优先加载静态块中的代码。static的作用域是类而并非是某个具体对象。
静态方法声明static方法有以下限制:
·静态方法仅能调用其他静态方法。
·静态方法只能访问static数据。
·静态方法不能引用任何形式的this或者supper。
class Test{
static void test(){
System.out.println("Wlecome");
}
}
public class call{
public static void main(String[] args){
Test.go();
}
}
静态变量当一个变量声明为static变量实质上就是一个全局变量。当声明一个对象时,并不产生static变量。而是所有该类的实例都共用这一个static变量。静态变量与静态方法类似,所有该类实例共享此静态变量。在类装载时,只分配一块空间,所有类的对象都可以操作。
class Value { static int c = 0; static void inc() { c++; }}public class Count2 { public static void prt(String s) { System.out.print(s); } public static void main(String[] args) { Value v1, v2; v1 = new Value(); v2 = new Value(); prt("v1.c=" + v1.c + " v2.c=" + v2.c); v1.inc(); prt(" v1.c=" + v1.c + " v2.c=" + v2.c); }}结果为:v1.c=0 v2.c=0 v1.c=1 v2.c=1
静态代码块静态代码块在类被初次加载的时候,会按照static块的顺序来执行每个static块,并且每个static块只会执行一次。
相关文章推荐
- Java staict关键字
- Java关键字final、static使用总结
- Java中的super关键字
- Java 关键字 速查表
- Java的native关键字
- Java语言基础(关键字、标识符、注释、常量、变量、运算符)
- (2.3.5)java关键字
- java中 论 异常处理机制中的return关键字
- Java volatile 关键字含义
- Java synchronized 关键字
- 161025、java提高篇之关键字static
- Java关键字final、static使用总结
- Java多线程:线程同步与关键字synchronized
- Java中保留字和关键字的区别
- java中的instanceof关键字的应用
- Java Volatile 关键字
- JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块
- Java关键字final、static使用总结
- JAVA学习笔记二之(2)关键字和标识符
- Java之this关键字的用法