日期:2014-05-20  浏览次数:20705 次

关于java的构造函数的函数体的问题
java的构造函数体里能给成员常量赋值

而c++的则不行   c++要在构造函数的初始化列表中给常量赋值

这是不是说   java的构造函数体里的执行发生时间   与   c++造函数的初始化列表   的时间是一样的   ,而与   c++造函数体执行的时间不一样

c++   中构造函数是分两步完成的   第一步是初始化   另一步是构造函数体的运行

而java中则是一次完成?



------解决方案--------------------
java中也有区分的
可以在构造方法之前,也可以在构造方法之后

其实所有的变量都是在构造方法调用之前就初始化好了.只不过在构造方法里重新赋值而已

eg:

class A
{
int a;//int a=0;
public A()
{
a=2;
}
}
------解决方案--------------------
前面没有初始化,只是声明