⑴ java Static变量是不是只在类加载的时候赋值一次,以后创建类的对象的时候 不会再重新赋值
static变量值在类加载的时候分配空间,以后创建类对象的时候不会重新分配。
赋值的话,是可以任意赋值的
⑵ java 中什么不能把static 修饰的变量赋值给没有static修饰的变量啊
如果方法被标记为static,那么只能是用表示static的方法和变量。原因是,被标记为static的方法和变量,是在类加载的时候加入到内存,可以直接使用,值永远只有一份。而非static的方法和变量,要等到类被实例化以后才能使用。你可以这么理解,就是类存在,static的变量和方法就存在,而非static的变量和方法,只有实例存在才存在。望采纳!谢谢。
⑶ 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中静态变量如何动态赋值
写一个方法,然后用方法的参数t2给t1赋值,另一个类val用的时候,先用demo的一个对象,调用方法,修改t1
⑹ 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常量静态赋值与动态赋值的区别
这里需要的是编绎时常量,其值在编绎时就能确定。IF1.BB 时写死的,编译时就能确定其值。IF1.AA 要在运行时才能确定其值。