本人菜鸟,刚学习Java,搞不懂为什么要使用构造方法,都说是new 对象的时候可以初始化对象,但就是不懂使用构造方法的好处有没有人能指点一下啊,

解决方案 »

  1.   

    java是面对对象的语言,如果你想创建对象就必然需要初始化,就需要调用构造函数!
      

  2.   

    关于这个问题我觉得你最好去查阅一下《java编程思想》。我的理解是这样的:1,首先得明白不通过构造函数,能不能初始化类内的成员变量(域)?答案是可以,通过静态变量,或初始化块等手段就可以完成变量的初始化。然而通过这样的手段,每次new的时候都执行了一样的操作:一成不变的值赋值给了变量。而通过构造函数则不一样,因为函数可以有参数,而且可以被重载,通过传入参数的不同,可以一定程度实现类的动态赋值。而不同的重载构造函数让类的实例化更加多样。
    如果你问的是“为什么要用new而非通过类似C中malloc的方式”的话,请去C/C++区问吧。貌似《effective C++》有详述,你也可以去查看一下。
      

  3.   


    这与java是面向对象语言并没有什么关系吧,并不能因为java是面向对象语言就必须使用构造函数,  而使用构造函数肯定是解决了某些问题,或者是提升了执行效率,又或者是提高了代码的可读性
    但绝对不是因为是面向对象语言就需要使用它
      

  4.   

    在创建一个一般的A类时,不给他的变量赋值,通过有参构造方法去给这个类初始化他的变量的值,在我们想在别的B类中使用,想创建一个A对象,我们想要什么样的A,就传入什么样的变量
      

  5.   

    new的时候会自动调用构造方法,没有构造方法不能实例化对象。
      

  6.   

    Java 面向对象 之 构造方法 http://www.verejava.com/?id=16992731753535
      

  7.   

    没有构造方法就没法new,没写构造方法是因为有个默认无参构造方法。有参构造方法可以使对象在实例化时做些事情,完成必须的操作。比如开个公司,必须先拿证,置办办公场地吧。