❶ java在静态方法给非静态变量赋值
publicclassRookie{
privateinta;
publicintgetA(){
returna;
}
publicvoidsetA(inta){
this.a=a;
}
publicstaticRookiegive(intb){
Rookier=newRookie();
r.setA(b);
returnr;
}
}
测试方法:
System.out.println(Rookie.give(2).getA());
❷ java常量静态赋值与动态赋值的区别
这里需要的是编绎时常量,其值在编绎时就能确定。IF1.BB 时写死的,编译时就能确定其值。IF1.AA 要在运行时才能确定其值。
❸ java static 变量能 赋值吗
可以。
标记为final的才不可以赋值。
❹ Java中static变量能不能再赋值,也就是说能不能再改变它的值
static变量在编译时已经分配内存,
定义static变量是称为静态变量 也是局部变量
谁说全局就不能改变值了
除非是 static final声明,就成常量了,就不能改了
❺ java定时器任务给静态变量赋值,然后A类被B类调用,可B类无法获取到静态变量的值
你应该是先运行的A类,再运行的B类吧。这样运行A类和B类的进程是两个进程,因为是不同的进程,A类里的变量赋值是影响不到B类的。
你把
A a = new A();
a.run();
这两行代码加到B类的main方法里,再运行B类就可以了
❻ java中使用static声明的变量是否必须赋初值
你自己上机实验下不就知道了。不必赋初值的(可以通过编译,也可以运行,调用的时候,系统会默认给他值)
但是按照规范写法,还是要附个初值给他,无论给任何变量赋值,都最好要给他附一个初值。
❼ java数组静态赋值
这两种初始化方法在本质上是没有什么区别的,只是第二种方法只能在数组定义的时候对数组初始化;而第一种方法可以出现在程序的任何地方,也就是你定义了一个数组变量,然后可以在任何地方用第一种方法对其进行初始化;第二种方法甚至可以作为方法的参数。
可以参考下面的程序:
import java.util.Arrays;
public class ArrayInitialization {
public static void main(String[] args) {
int[] a = { 1, 2, 3 };
int[] b;
b = new int[] { 4, 5, 6 };
printArray(a);
printArray(b);
printArray(new int[] { 7, 8, 9 });
}
static void printArray(int[] array) {
System.out.println(Arrays.toString(array));
}
}
❽ JAVA中怎么通过非静态方法给一个静态变量赋值
public class staticTest1
{
public static int java;
public void setJava(int java)
{
this.java = java;
}
public static void main(String args[])
{
staticTest st = new staticTest();
st.setJava(2009);
System.out.println(st.java);
}
}
如你所说,这样是完全能办到的,及:
静态方法给非静态变量赋值!
下面这个程序就不能编译通过!!
public class staticTest2
{
public int c;
public static void setC(int c)
{
this.c = c;
}
public static void main(String args[])
{
staticTest st = new staticTest();
st.setC(2000);
System.out.println(st.c);
}
}
提示错误:
无法从静态上下文中,引用非静态变量!
祝楼主,天天向上!!
❾ Java Static变量是不是只在类加载的时候赋值一次,以后创建类的对象的时候 不会再重新赋值
static变量值在类加载的时候分配空间,以后创建类对象的时候不会重新分配。
赋值的话,是可以任意赋值的
❿ java 构造器中可不可以给静态变量赋值为啥
当然可以,静态变量只是在你类加载的时候初始化了,可以直接引用并修改;