概述
import java.math.BigInteger;
import java.math.BigDecimal;
public class foo{
static String s;
static int i;
static boolean b;
static char c;
static float f;
static double d;
static long l;
static short sh;
static BigInteger bi;
static BigDecimal big;
public static void main (String[] args){
String s;
//System.out.println("方法局部变量必须要初始化"+"String="+s);
System.out.println("全局变量可自动初始化,成员变量也一样"+
"int"+i+
"boolean"+b+
"char"+c+
"float"+f+
"double"+d+
"long"+l+
"short"+sh+
"BigInteger"+bi+
"BigDecimal"+big+
"String"+s);
}
}
/*
* output:
int=0
boolean=false
char=u0000
float=0.0
double=0.0
long=0
short=0
BigInteger=null
BigDecimal=null
String=null
*/
对于java中null与u0000的问题,他们是一样的吗?
* 1、/u0000 是一个空的字符,它与null和“”不同,是特殊的“空”;
* 2、该字符在输出后还不能够复制粘贴,如果一个字符串中含有该字符那么它后面的所有字符串都不会被复制粘贴;
对于null,其实就是一个空对象,可以试一下
String s1=null;
String s2=null;
System.out.println("s1=s2?"+(s1==s2));
//运行结果为true
public class NULL {
public static void haha(){
System.out.println("haha");
}
public static void main(String[] args) {
((NULL)null).haha();//运行结果为haha
}
}
/*这个看起来很奇怪,但是因为haha()是静态方法,在自己的类中调用静态方法只需要方法名就可以了,所以说((NULL)null)就是没有意义的= =,但是在其他类中调用,就需要用到类名或者对象名了,((NULL)null)这个本质还是空对象,所以是会报空指针异常的。*/
最后
以上就是繁荣摩托为你收集整理的静态变量的自动初始化值以及空对象null的全部内容,希望文章能够帮你解决静态变量的自动初始化值以及空对象null所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复