java 中创建一个类的对象值为为NULL

class FK{ void bx(){ System.out.println("变形"); }FK ff=new FK();与FK ff=null;的区别?
2025-05-07 11:14:57
推荐回答(4个)
回答1:

FK ff 就相当于指针、代号、连接

new FK() 其实就是在内存中给这个对象开辟了一块空间,这个对象存在了

FK ff=new FK();就是将这个代号指向了这个对象,然后就可以用代号来操作对象了

FK ff=null;就是只有代号,但是这个代号没有实际意义,因为他不代表某个具体的对象,在接下来的代码中,通常就是将这个代号指向某个具体的对象(赋值)

再举个例子就是:
FK ff 是小孩的名字

FK ff=null; 小孩还没有出生,可以让任何一个小孩叫这个名字

FK ff=new FK();小孩出生并且和名字对应了,以后可以用名字来称呼这个小孩了

回答2:

FK ff=new FK();与FK ff=null;的区别?

首先我讲一下java虚拟机在内存中会分配几个去
这里涉及到了两个区域 栈 和 堆
栈是内存比较小的部分 理解成存名字
堆是内存比较大的部分 理解成存对象

FK ff=null; 相当于只在栈中声明了个名字叫 ff 存储在栈中
FK ff=new FK(); 相当于不仅仅在栈中声明了个名字叫ff 还在堆中分配了内存给这个对象 而ff指向了堆里的FK类的一个对象

纯手打 望采纳

回答3:

1. FK ff=new FK(); 代表ff指向了一个实例对象,这样就可以调用类方法了,比如ff.bx();
2. FK ff=null; 代表指向了空对象,因为方法都是依存于对象的,所以不能ff.bx();会报空指针错误

回答4:

FK ff=new FK();表示ff已经初始化了,可以使用了,比如调用ff.bx()。
与FK ff=null;表示声明了以个变量ff但是尚未初始化(只是占了坑了),如果调用ff.bx(),会报空指针错误。