java 中创建一个类的对象值为为NULL
classFK{voidbx(){System.out.println("变形");}FKff=newFK();与FKff=null;的区别?...
class FK{
void bx(){
System.out.println("变形");
}
FK ff=new FK();与FK ff=null;的区别? 展开
void bx(){
System.out.println("变形");
}
FK ff=new FK();与FK ff=null;的区别? 展开
8个回答
展开全部
FK ff 就相当于指针、代号、连接
new FK() 其实就是在内存中给这个对象开辟了一块空间,这个对象存在了
FK ff=new FK();就是将这个代号指向了这个对象,然后就可以用代号来操作对象了
FK ff=null;就是只有代号,但是这个代号没有实际意义,因为他不代表某个具体的对象,在接下来的代码中,通常就是将这个代号指向某个具体的对象(赋值)
再举个例子就是:
FK ff 是小孩的名字
FK ff=null; 小孩还没有出生,可以让任何一个小孩叫这个名字
FK ff=new FK();小孩出生并且和名字对应了,以后可以用名字来称呼这个小孩了
new FK() 其实就是在内存中给这个对象开辟了一块空间,这个对象存在了
FK ff=new FK();就是将这个代号指向了这个对象,然后就可以用代号来操作对象了
FK ff=null;就是只有代号,但是这个代号没有实际意义,因为他不代表某个具体的对象,在接下来的代码中,通常就是将这个代号指向某个具体的对象(赋值)
再举个例子就是:
FK ff 是小孩的名字
FK ff=null; 小孩还没有出生,可以让任何一个小孩叫这个名字
FK ff=new FK();小孩出生并且和名字对应了,以后可以用名字来称呼这个小孩了
展开全部
FK ff=new FK();与FK ff=null;的区别?
首先我讲一下java虚拟机在内存中会分配几个去
这里涉及到了两个区域 栈 和 堆
栈是内存比较小的部分 理解成存名字
堆是内存比较大的部分 理解成存对象
FK ff=null; 相当于只在栈中声明了个名字叫 ff 存储在栈中
FK ff=new FK(); 相当于不仅仅在栈中声明了个名字叫ff 还在堆中分配了内存给这个对象 而ff指向了堆里的FK类的一个对象
纯手打 望采纳
首先我讲一下java虚拟机在内存中会分配几个去
这里涉及到了两个区域 栈 和 堆
栈是内存比较小的部分 理解成存名字
堆是内存比较大的部分 理解成存对象
FK ff=null; 相当于只在栈中声明了个名字叫 ff 存储在栈中
FK ff=new FK(); 相当于不仅仅在栈中声明了个名字叫ff 还在堆中分配了内存给这个对象 而ff指向了堆里的FK类的一个对象
纯手打 望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. FK ff=new FK(); 代表ff指向了一个实例对象,这样就可以调用类方法了,比如ff.bx();
2. FK ff=null; 代表指向了空对象,因为方法都是依存于对象的,所以不能ff.bx();会报空指针错误
2. FK ff=null; 代表指向了空对象,因为方法都是依存于对象的,所以不能ff.bx();会报空指针错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FK ff=new FK();表示ff已经初始化了,可以使用了,比如调用ff.bx()。
与FK ff=null;表示声明了以个变量ff但是尚未初始化(只是占了坑了),如果调用ff.bx(),会报空指针错误。
与FK ff=null;表示声明了以个变量ff但是尚未初始化(只是占了坑了),如果调用ff.bx(),会报空指针错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FK ff=new FK() 是创建了一个FK类型的对象,叫ff
FK ff=null 只是定义了ff为FK类型的,并没有创建出对象,只有使用new方法,才可以创建对象,所以下面一般都还有一句:ff=new FK();
这样这个语句才完整
FK ff=null 只是定义了ff为FK类型的,并没有创建出对象,只有使用new方法,才可以创建对象,所以下面一般都还有一句:ff=new FK();
这样这个语句才完整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询