这是一道java 基础题 但是我不理解答案 求解惑
classA{staticStringname;staticintage;publicstaticvoidshow(){System.out.println(name+a...
class A
{
static String name;
static int age;
public static void show()
{
System.out.println(name+age);
}
}
class Noname2
{
public static void main(String[] args)
{
A a = new A();
a.name = "小红";
a.age = 18;
a.show();
a = null;
a.show();
}
} 展开
{
static String name;
static int age;
public static void show()
{
System.out.println(name+age);
}
}
class Noname2
{
public static void main(String[] args)
{
A a = new A();
a.name = "小红";
a.age = 18;
a.show();
a = null;
a.show();
}
} 展开
展开全部
实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。static修饰的静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用,比如A.name,A.age。a=null只是a这个实例变量为空,这时调用非静态方法就会出现空指针异常,而静态变量只与类相关,多个类共享这些变量,类第一次初始化之后就可使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询