是声明/初始化基元与创建新对象相同吗?从我知道当我们创建原语时,我们也为它们创建包装类。即时通讯在Java btw实现。声明/初始化基元等于创建新对象
4
A
回答
5
没有,分配的原始值不不创建任何对象。
什么你可能被提及的是,原始值可以自动装箱到相应的包装,当他们在需要引用类型(又名“对象”)的上下文中使用:
int i = 13; // this line does not create an object
Integer i2 = i; // at this line 13 is auto-boxed into an Integer object
char c = 'x'; // again: no object created:
List<Character> l = new ArrayList<Character>();
l.add(c); // c is auto-boxed into a Character object
而且,我会尽力来形容声明之间的区别和初始化:
int i; // an int-variable is declared
int j = 0; // an int-variable is declared and initialized
i = 1; // an int-variable is assigned a value, this is *not* initialization
一个变量被“申报”首次创建(当它即指定类型和名称的变化iable)。它在声明期间被赋值为时被初始化。
0
编号基元不是java中的对象。
3
不,声明和初始化一个基本变量不是创建一个对象。我们来看一个带有两个整数值的类 - 一个使用包装类型,另一个不使用。
public class Foo
{
private int primitive = 10;
private Integer wrapper = new Integer(10);
}
的primitive
变量的值只是数字10的wrapper
变量的值是一个参考到Integer
对象又包含数字10因此的Foo
一个实例将请保留primitive
中的号码以及wrapper
中的参考号。
There are Java中所有基元类型的包装类,但不会自动使用它们。
2
创建原语不是也为它们创建包装类。
至于你的原始问题:声明/初始化一个原语将在堆栈上创建它,而声明一个对象将分配一个变量来保存对一个对象的引用。初始化对象将在堆上分配它。
1
相关问题
- 1. Java - 对象声明和初始化
- 2. 阵基元或对象初始化
- 3. 类创建对象初始化技巧
- 4. 创建(任何)对象初始化
- 5. Vb.net声明和初始化
- 6. 初始化在声明
- 7. c声明和初始化
- 8. 非忙等待的对象初始化
- 9. 在C++初始化之前声明一个对象
- 10. 对象在声明上已经初始化了吗?
- 11. 如何在声明时间初始化成员对象?
- 12. 初始化和声明对象和方法
- 13. 在MATLAB中声明和初始化对象
- 14. 创建JavaScript对象,使用对象初始化
- 15. 如何在初始化对象后自动创建对象?
- 16. 创建对象和初始化的对象 - 差异
- 17. 对象初始化
- 18. 对象初始化
- 19. 初始化对象
- 20. 初始化对象
- 21. 如何声明对象,而不是创建新对象?
- 22. 初始化静态final变量声明与初始化在Application.OnCreate()
- 23. 变量初始化并声明后可能尚未初始化
- 24. 初始化父对象后初始化相关的对象
- 25. 创建并初始化单元阵列
- 26. c中的对象重新初始化#
- 27. 对象初始化没有“新”C++
- 28. Chartfx新图表对象未初始化?
- 29. 在新对象中初始化模拟
- 30. 重新初始化一个Ruby对象