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

请问构造方法不可以被调用吗?
Java code

public class Test{
    public static void main (String args[]){
        P1 m1 = new P1();
        m1.P1();//这句为什么不可以?构造方法不可以被调用吗?
    }
}
class P1{
    int n=9;
    int nn;
    P1(){
        System.out.println("P1");

    }
    void P2(){
        System.out.println("P2");
    }
}



------解决方案--------------------
构造方法是用来构造对象的的new对象时又java 虚拟机调用,不用我们显示调用
------解决方案--------------------
首先声明 本人新手 
如有错误 概不负责


可以在类的构造方法里调用类的其它构造方法。

构造方法是为了初始化类的实例,不能用对象调用构造方法
------解决方案--------------------

楼主不必过分纠结于这个问题。

你可以换个角度来思考这个问题。

在java中,如果你想创建一个对象(非基本数据类型)。

必须在利用new 关键字在堆中申请空间,然后调用构造方法初始化对象,然后返回这个对象的引用。

例如 new people()

因为,java为了保证对象都被初始化。

才采用了这种机制。

所以不需要你人为来调用。

而且,因为构造方法是只有在对象创建时才可以调用的。

因为JVM自己调用完了。

所以也不允许你自己来调用。