new operation in java - from the complete reference Java

原创 2006年06月06日 14:21:00

In java, we can use new operator to dynamically allocates memory for an object, like this: 
class-var = new classname(); 
Here, class-var is a variable of the class type created. The classname is the name of the class that is being instantiated. The class name followed by parentheses specifies the constructor for the class. A constructor defines what occurs when an object of a class is created. Constructors are an important part of all classes and have many significant atributes. Most real-world classes explicitly define their own constructors within their class definition. However, if no explicit constructor is specified, then Java will automatically supply a default constructor.

    At this point, you might be wondering why you do not need to use new for such things as integers or characters. The answer is that Java's simple type are not implemented as objects. Rather, they are implemented as "normal" variables. This is done in the interest of efficiency. As you will see, objects have many features and attributes that require Java to treat them differently than it treats the simple types. By not applying the same overhead to the simple types that applies to objects, Java can implement the simple types more efficiently. Later, you will see object versions of the simple types that are available for your use in those situations in which complete objects of these types are needed.

    It is important to understand that new allocates memory for an object during run time. The advantage of this approach is that your program can create as many or as few objects as it needs during the execution of your program. However, since memory is finite, it is possible that new will not be able to allocate memory for an object because insufficient memory exists. If this happens, a run-time exception will occur.

    The distinction between a class and an object. A class creates a new data type that can be used to create objects. That is a class creates a logical framework that defines the relationship between its members. When you declare an object of a class, you are creating an instance of that class. Thus, a class is a logical construct. An object has physical reality. (That is, an object occupies sapce in memory.) It is important to keep this distinction clearly in mind.

Remeber:
When you assign one object reference variable to another reference variable, you are not creating a copy of the object, you are only making a copy of the reference. For example:
Box b1 = new Box();
Box b2 = b1;
//.....
b1 = null;
Here, b1 has been set to null, but b2 still points to the original object.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Complete reference of all STSADM operations (with parameters) in MOSS 2007 SP1

This is an update to my complete reference of all STSADM operations in Microsoft Office SharePoint S...

用引用(reference)操纵对象-读Thinking in java

在C和C++当中,一般情况下通过指针来对对象进行引用,那在java当中是如何引用或者是使用对象的呢。Java当中一切都被视为对象,所以在Java当中对对象的引用相对来说比较简单,我们会通过引用(ref...

Java2:The Complete Reference

  • 2008-02-07 20:37
  • 3.42MB
  • 下载

String is passed by “reference” in Java

This is a classic question of Java. Many similar questions have been asked on stackoverflow, and the...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)