程序里定义的static变量的作用是什么?static变量就是类变量。意思是这个类的对象都共享这个变量。譬如你的
A类中声明了static int i=5;
A类有对象a1,a2,
当你通过a1改变i的值,那么就能在a2中看到i的改变。
A类中声明了static int i=5;
A类有对象a1,a2,
当你通过a1改变i的值,那么就能在a2中看到i的改变。
解决方案 »
- system.out.println(-8>>>2),输出1073741822。求解释。谢谢。
- 线程中静态变量的修改
- JAVA接口的思想在C++里面没有,当时怎么会想到运用接口技术的??
- 几个java基础问题
- 急~~急~大家快帮哈忙!谢谢
- JTree,当选择某个节点后,如何判断是否节点(即最后一级)?
- 【for 自学者】覆写(override)和重载(overload)的区别
- 求java高手解释一下Integer的等于判断,本人学习java也有一定水平,实在费解
- 请问java初学者(自学)没项目经验,能否找到java编程工作?如果能,待遇如何?
- 在编写代码统计时出现的一个小问题
- 求一随机生成字符串的算法!~
- JAVA盲问:JAVA在做什么方面有优势啊?
比如public class Zhaoce{
static int ce;
}
Zhaoce bigZhao;
Zhaoce smallZhao;
Zhaoce saZhao;
bigZhao.ce=10;
System.out.println("傻Zhaoce的ce是:"+saZhao.ce);输出的结果是10也就是所无论你修改了哪一个类对象里的static变量
其它的类对象里的该static变量都会做相应的更改
smallZhao.ce的值也是10
简而言之,就是所有的类对象共享一个static变量
另外,static变量还可以通过类名直接访问
Zhao.ce的值也是10
有static的话就可以直接用了
因为你根本就没有定义你的BJ类的对象
static int x;没用到啊
编译器没对你说?
虽然后面很多地方有Math.sqrt(x),但是此x非彼x,这里的x是方法的参数
碰巧它也叫x罢了
如果这样写
static int x;
static int mysqrt()
{
return (int)Math.sqrt(x);
}
那返回的就是static int x的平方根了
static int x;
static int mysqrt(int y) //参变量的名字是y了
{
return (int)Math.sqrt(y); //这里使用参变量
}
跟你原来的程序是等价的
就是说,static方法可以这样用int i=BJ.mysqrt(9);
但是如果你去掉static关键字,必须这样用
BJ bj=new BJ();
int i=bj.mysqrt(9);