java,new与不new的区别?
答案:5 悬赏:40 手机版
解决时间 2021-02-28 23:55
- 提问者网友:雨不眠的下
- 2021-02-28 03:38
java,new与不new的区别?
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-02-28 04:41
在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();
全部回答
- 1楼网友:未来江山和你
- 2021-02-28 07:40
你是说
A a;
和A a=new A();
的区别吧?
一个 是创建了A的引用 但没分配内存空间、、
一个是既分配的引用也创建了内存地址 把引用指向该内存
A a;
和A a=new A();
的区别吧?
一个 是创建了A的引用 但没分配内存空间、、
一个是既分配的引用也创建了内存地址 把引用指向该内存
- 2楼网友:长青诗
- 2021-02-28 06:24
A a;
//对象的声明,如果你不new就用a,会报空指针异常(NullpointException)
A a=new A();
已经在堆里开辟了内存。记住:没有new的对象是不能用的!!!
//对象的声明,如果你不new就用a,会报空指针异常(NullpointException)
A a=new A();
已经在堆里开辟了内存。记住:没有new的对象是不能用的!!!
- 3楼网友:woshuo
- 2021-02-28 06:14
·使用下列语法可创建对象:
new 构造函数
·关键字 new 通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。
·一旦 new 完成分配和初始化内存,它就将调用构造函数来执行对象初始化。
new 构造函数
·关键字 new 通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。
·一旦 new 完成分配和初始化内存,它就将调用构造函数来执行对象初始化。
- 4楼网友:轮獄道
- 2021-02-28 05:52
我就直接申明一个A的属性方B类里面,请问这样有什么区别?
这两者没有可比性,楼主的意思很明白
class B {
public A a;
}
与 A a = new A();
前者,a 是 B类的属性
当 B b = new B()的时候,a并没有分配空间,也就是说
b.a == null is true
除非这样写:
class B {
public A a=new A();
}
这两者没有可比性,楼主的意思很明白
class B {
public A a;
}
与 A a = new A();
前者,a 是 B类的属性
当 B b = new B()的时候,a并没有分配空间,也就是说
b.a == null is true
除非这样写:
class B {
public A a=new A();
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯