C++ java基础:创建类对象
在C++中:
class Rectangle {
int x, y;
public:
void set_values (int,int);
int area () {return (x*y);}
};
int main () {
Rectangle rect;
rect.set_values (3,4);
}
在Java中:
class Rectangle {
int x, y;
void set_values (int x,int y);
int area () {return (x*y);}
}
public static void main(String[] args) {
Rectangle rect=new Rectangle(3,4);
}
在C++编译器中,p>将创建^ {< CD1>}对象和保留内存4字节。我想知道Java是如何创建对象的
# 1 楼答案
当你这样做时:
在C++中,它调用编译器提供的0-arg默认构造函数
如果要使用2-arg构造函数,必须执行以下操作:
其中,必须显式提供2-arg构造函数,否则它将无法编译
现在,Java的情况也是如此。如果你这样做:
那么它可以,因为在这种情况下,编译器将提供一个默认的0ARG构造函数,如C++,但是当你的创建对象像:-
然后,您必须显式地为该类提供一个2-arg构造函数,否则它将无法编译,就像在第二个示例中那样,无法编译
此外,一旦您提供了
parameterized constructor
,那么在这种情况下,编译器将不会提供默认构造函数。如果要使用0-arg构造函数,则必须显式提供0-arg构造函数。这在Java
和C++
中都足够了现在,根据
memory allocation
所关注的,因为Java是独立于平台的,所以int
类型的大小在所有平台上都是32 bits
。这与C++
不同,后者的数据类型大小取决于平台有关各种类型分配的详细信息,请参见^{}
p.S.:
我建议您浏览以下链接,了解Java类和对象的基础知识:-