求问,如果声明ClassA classA = null,占用空间吗?

问题描述

比如一个类ClassB里声明一个属性如ClassAclassA=newClassA()classA占用10个字节的空间,那么ClassAclassA=null占用空间吗因为有些属性我想先声明,等用真正用的时候再给它赋予它内存空间,以免造成浪费.

解决方案

解决方案二:
肯定的告诉你不占空间
解决方案三:
不会分配内存
解决方案四:
表示一个空引用,不分配存储空间
解决方案五:
会占用点stack的空间存变量吧。
解决方案六:
一个空引用,不分配内存空间的
解决方案七:
应该不会的,只要没有实例化这个对象,就没有开辟内存空间,同样Stack上也不会保存变量,因为这个变量毫无意义引用4楼的回复:

会占用点stack的空间存变量吧。

解决方案八:
引用3楼的回复:

表示一个空引用,不分配存储空间

这个把
解决方案九:
其实真正的是会先声明一个本地局部变量,然后把null(空引用)推送到计算堆栈上。可能会在Stack上开辟一个空间来储存本地局部变量。跪求大湿解释引用7楼的回复:

引用3楼的回复:表示一个空引用,不分配存储空间这个把

解决方案十:
钻牛角尖的话,ClassA这个变量本身是要占空间的。它实际上是一个指针。指针本身视系统不同占4个字节到8个字节空间。但它没有指向任何有效的内存地址。

时间: 2024-09-01 00:03:03

求问,如果声明ClassA classA = null,占用空间吗?的相关文章

java-初学者求问覆写与否的方法调用问题

问题描述 初学者求问覆写与否的方法调用问题 在看Java开发实战经典的时候看到覆写一部分,大致代码如下: public class Hello { public static void main(String[] args) { new Student().fun(); } } class Person{ private void print() { System.out.println(""Person""); } void fun() { this.print(

代码-新手求问wpf程序中关于路由事件的问题

问题描述 新手求问wpf程序中关于路由事件的问题 我放了两个Button控件 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Grid1.AddHandler(Button.ClickEvent,new RoutedEventHandler(onClick)); } public void onClick(object sender, RoutedEventArgs e

c语言-求问一个C语言字符指针的问题

问题描述 求问一个C语言字符指针的问题 #include void Initialize (char * a, char * b) { a[0] = 'T'; a[1] = 'h'; a[2] = 'i'; a[3] = 's'; a[4] = ' '; a[5] = 'i'; a[6] = 's'; a[7] = ' '; a[8] = 'A'; a[9] = ''; b = a; b[8] = 'B'; } #define ARRAY_SIZE 10 char a[ARRAY_SIZE];

对话框-求问一条java.lang.NULLPointerExcption的问题

问题描述 求问一条java.lang.NULLPointerExcption的问题 import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View.*; import android.widget.*; import android.view.View; import android.app.AlertDialog; import android.a

struct-新人求问,C#调用C++dll,C++函数中有NULL参数,我转换到C#该怎么改。。

问题描述 新人求问,C#调用C++dll,C++函数中有NULL参数,我转换到C#该怎么改.. 最近调用C++dll,各种问题,烦死了都要..求各位帮助..C++DEVICE_ID APICALL NSSTCreateDevice( NsstDevice* device AppProxy* proxy); 其中NsstDevice和 AppProxy是结构,调用时这样的:**DEVICE_ID id = NSSTCreateDevice(&deviceNULL);** 今天花了好大功夫转换了C#

java 7-画的图一直显示不到中间,求问关于JFrame中添加Graphics时该如何设置及相关内容

问题描述 画的图一直显示不到中间,求问关于JFrame中添加Graphics时该如何设置及相关内容 import java.awt.*; import javax.swing.*; public class Fractal extends JFrame{ private PaintTriangle paintTriangle = new PaintTriangle(); public Fractal(){ paintFractal(1); add(paintTriangle); } privat

android报错-android开发报错log信息如下,小弟新手,求问是什么错误,错在哪,如何解决

问题描述 android开发报错log信息如下,小弟新手,求问是什么错误,错在哪,如何解决 02-21 20:41:34.969: W/dalvikvm(20654): threadid=11: thread exiting with uncaught exception (group=0x40abf228) 02-21 20:41:34.969: E/AndroidRuntime(20654): FATAL EXCEPTION: Thread-6366 02-21 20:41:34.969:

求问 java为什么空指针异常

问题描述 求问 java为什么空指针异常 type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Exception in JSP: /select.jsp:36 33: 鐢佃瘽 34: 35: <

求问一个关于c语言指针问题

问题描述 求问一个关于c语言指针问题 char* s = "hello";的详细解释,大神们发出自己的高见吧 解决方案 char* s = "hello"; 分开看: char *s;//定义一个字符指针 s = "hello"; //赋值 //该指针首地址指向字符串的第一个位置,s[0]='h' s[1]='e';就这个意思 //输出printf("%s",s);输出字符串,自s指向的首字母一直输出至字符串结束hello /