更新时间:2020-10-29 17:24:10 来源:极悦 浏览814次
虽然java编程是一门实操性的技术,但是理论知识对于学好java来说也是十分重要的。变量是是java零基础的人在入门阶段需要学习的重点内容,今天这篇文章带大家来学习java静态变量的相关知识,学习静态变量是什么,有什么特点以及怎样使用,一起来看下面的内容吧。
先来看java静态变量是什么,静态变量:内存中只有一份,Java虚拟机(JVM)只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配。由于静态变量属于类,与类的实例无关,因而可以直接通过类名访问这类变量。通过类名.属性的方式访问静态变量。
与静态变量相对应是静态方法,静态方法:方法前加static修饰符,表明该方法与某个具体实例无关,仅仅是该类的一个公共方法。通过类名.方法的方式访问静态方法。静态变量和静态方法都属于静态对象,那么java静态对象有什么好处和优点呢?
(1)静态对象的数据在全局是唯一的,一改都改。如果你想要处理的东西是整个程序中唯一的,弄成静态是个好方法。 非静态的东西你修改以后只是修改了他自己的数据,但是不会影响其他同类对象的数据;(2)引用方便。直接用 类名.静态方法名或者类名,静态变量名就可引用并且直接可以修改其属性值,不用get和set方法;(3)保持数据的唯一性。此数据全局都是唯一的,修改他的任何一处地方,在程序所有使用到的地方都将会体现到这些数据的修改。有效减少多余的浪费。
使用java静态变量的优点:不需要在进行bai实例化。静态变量的值,直接赋新值即可,不需要参数传递,之后可以直接进行参数引用即可;静态方法可以直接通过"类名.方法"的形式进行方法调用。通常方法被多次调用,并且方法中没有动态方法引用的时候使用比较方便。
下面是一个静态变量的例子,代码如下:
class c1c {
private static int num = 0;
private static double pi = 3.14;
private double radius;
private int height;
public c1c(double r,int h)
{
radius = r;
height=h;
num++;
}
public void count()
{
System.out.print("创建了"+num+"个对象");
}
double area() {
return pi*radius*radius;
}
double volume() {
return area()*height;
}
}
public class cc{
public static void main(String[] args)
{
c1c volu1=new c1c(2.5,5);
volu1.count();
System.out.println("圆柱1的体积="+volu1.volume());
c1c volu2=new c1c(1.0,2);
volu2.count();
System.out.println("圆柱2的体积="+volu2.volume());
}
}
本例中声明了一个静态变量num用于记录程序中共产生了多少个对象,因为对象创建时会自动调用构造方法,所以在构造方法中加入了“num++;”语句,这样每创建一个对象就调用一次构造方法,从而每产生一个对象,num的值就会自动加1,此时,因为静态变量是一个公共的存储单元,所以类的任何一个对象去修改它时,都是在对同一个内存单元做操作。去掉声明num的static后:private int num = 0。
可以看到num的值没有变化,这是因为num成为实例变量后,对创建的不同对象来说,都有自己独立的内存来保存它的值,且不与其他对象共享,因此若修改了volu1的num值,volu2的num并不受影响。
以上就是对java静态变量相关知识的介绍,都是关于java静态变量的基础内容,所以希望大家认真学习,也希望上面的内容能帮助朋友们理解静态变量,同时可以在java教程中学习java静态变量的使用。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习