java,new与不new的区别?
我有一个A类,在B类里声明一个A类,但我不用Aa=newA();我就直接申明一个A的属性方B类里面,请问这样有什么区别?...
我有一个A类,在B类里声明一个A类,但我不用 A a=new A();
我就直接申明一个A的属性方B类里面,请问这样有什么区别? 展开
我就直接申明一个A的属性方B类里面,请问这样有什么区别? 展开
6个回答
展开全部
在java中,new用来开辟堆内存,又叫初始化,一般情况下,对象创建好后,都需要用new进行实例化;不用new通常在单例模式中可见,对象在类里面创建,构造函数用private修饰,外面不能创建对象,只能调用内部方法静态方法,即对象的初始化在创建对象时已经完成
一般来说,不使用new的情况都属于一些特定的情况,比如:
1.
Class clas = Class.forName(“NewClass”);
NewClass obj = (NewClass) clas.newInstance();
- Class.forName()这个方法会加载这个类并创建一个实例
2.
Demo deo = new Demo();
Demo1 deo1 = deo.clone();
一般来说,不使用new的情况都属于一些特定的情况,比如:
1.
Class clas = Class.forName(“NewClass”);
NewClass obj = (NewClass) clas.newInstance();
- Class.forName()这个方法会加载这个类并创建一个实例
2.
Demo deo = new Demo();
Demo1 deo1 = deo.clone();
展开全部
有一点点区别的,
一般都是按照第二种来做的,第一种的思路是定义hostlist
然后赋值,第二种是定义的同时赋值,
通常第一种的做法是:
list
hostlist
;
hostlist
=
datacenter0.gethostlist();
不需要
new
arraylist
();的,因为new
出来也没用过,
,
一般都是按照第二种来做的,第一种的思路是定义hostlist
然后赋值,第二种是定义的同时赋值,
通常第一种的做法是:
list
hostlist
;
hostlist
=
datacenter0.gethostlist();
不需要
new
arraylist
();的,因为new
出来也没用过,
,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A a;
//对象的声明,如果你不new就用a,会报空指针异常(NullpointException)
A a=new A();
已经在堆里开辟了内存。记住:没有new的对象是不能用的!!!
//对象的声明,如果你不new就用a,会报空指针异常(NullpointException)
A a=new A();
已经在堆里开辟了内存。记住:没有new的对象是不能用的!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
·使用下列语法可创建对象:
new 构造函数
·关键字 new 通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。
·一旦 new 完成分配和初始化内存,它就将调用构造函数来执行对象初始化。
new 构造函数
·关键字 new 通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。
·一旦 new 完成分配和初始化内存,它就将调用构造函数来执行对象初始化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是说
A a;
和A a=new A();
的区别吧?
一个 是创建了A的引用 但没分配内存空间、、
一个是既分配的引用也创建了内存地址 把引用指向该内存
A a;
和A a=new A();
的区别吧?
一个 是创建了A的引用 但没分配内存空间、、
一个是既分配的引用也创建了内存地址 把引用指向该内存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询