static的作用:由于类是对象的模型,基于一个类可以生成多个对象,每个对象都有自己的成员变量和方法,每个对象之间是相互独立的,但是有的时候我们希望这些对象可以共享一个成员变量,那么在这种情况下使用static。
static可以修饰变量、方法、代码块。静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载!
- 修饰变量
修饰变量时,使用变量的方法:
public class Vehicle { static int engineNum = 1;//static修饰的变量 public int wheel; public void func() { System.out.println("便于出行!"); } }
public class TestStatic { public static void main(String[] args) { System.out.println("引擎数量:" + Vehicle.engineNum);//使用类名访问 Vehicle v = new Vehicle(); System.out.println("引擎数量:" + v.engineNum);//使用对象名访问 } }
可以使用类名直接访问静态变量,也可以通过新建对象,然后通过对象调用变量。
- 修饰方法,static修饰方法,则方法就被称为静态方法,经常使用的main方法就是静态方法。静态方法可以访问同类中的静态变量,无法直接访问非静态变量。同理,静态方法中可以直接调用本类中静态方法,但是不能直接调用非静态方法。在静态方法中访问静态变量和静态方法只能通过创建对象来访问。
public class TestStatic { public static String brand = "made in China"; public String color = "red"; public static void main(String[] args) { System.out.println(color); //编译出错 show();//编译出错 TestStatic ts = new TestStatic(); System.out.println(ts.color);//通过对象访问 ts.show();//通过对象调用 } public void show() { System.out.println("出行工具!"); } }
- 非静态方法可以直接访问或者调用本类中的静态或者非静态的变量和方法
public class TestStatic { public static String brand = "made in China"; public String color = "red"; public static void main(String[] args) { } public void show() { System.out.println("出行工具!"); System.out.println(brand);//可以访问静态变量 System.out.println(color);//可以访问非静态变量 start();//访问非静态方法 main(new String[]{});//访问静态方法 } public void start() { System.out.println("发动!"); } }
相关推荐
block,局部变量,全部变量,static的静态变量关系
MarkDown文档,大家应该都知道,@Value注解可以给类中的非静态变量注入值,但是给静态变量注入值则会有警告,结果是失败的,本文档说明了如何使用@Value注解给类的静态变量赋值
statilocal java 静态变量和静态块加载顺序,静态变量和同名静态变量块加载的顺序。
本文为大家介绍一种static静态局部变量的妙用方法。
public static String p_StaticField = "父类--静态变量"; // 变量 public String p_Field = "父类--变量"; // 静态初始化块 static { System.out.println(p_StaticField); System.out.println("父类...
计算机后端-PHP视频教程. php与mysql加强- 05. php加强57-static静态变量wmv.wmv
本文实例讲述了C#中static静态变量的用法。分享给大家供大家参考。具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,...
Static静态变量的应用(VB6.0代码编写) Static静态变量 QQ223857666勾月
JAVAStatic静态变量.doc
分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...
适用于PHP的静态缓存管理器关于在某些应用程序中,初始化一组数据并将其存储在静态变量中以在整个应用程序范围内可用,而不必在每次需要时都对其进行初始化非常有用。 拥有大量此类静态缓存变量可能会导致不良的代码...
徐彤老师耗时三年倾心制作,专业录制,通俗,细致的讲解了C++ 编程从入 门到高级
C_语言静态变量和静态函数,可以让您对C语言静态变量和静态函数有更清晰的认识
项目中,在不停地接收串口数据很长一段时间(几小时)后,会偶然性的...在Android中,用的DVM也是一样的,不过Android中不太突出进程的概念,所以对静态变量的生命周期就是感觉模糊,这种模糊对于值类型是无所谓的,如
经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。VB.NET能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态...
从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。因此static 这个说明符在不同的地方所起的作用是...
什么是静态(static)什么是静态方法,静态变量,静态块和静态类?Java开发Java经验技巧共4页.pdf.zip
详细的分析了全局变量,局部变量,static变量的区别 以及使用时用该注意的东西,很不错的。有兴趣的可以看看
Java中static静态变量.pdf 学习资料 复习资料 教学资源