创建对象,可以不通过构造函数完成是错误的说法。
因为类有继承的关系,因此即使你没有定义构造函数,在new的时候依然是要执行构造函数的。构造函数不能显式调用,构造函数是当创建一个类的实例的时候由系统调用的。是先创建对象后,再调用构造函数,而不是构造函数用来创建对象的。
构造函数是编译器提供的一个接口供程序员选择,在创建对象时按需要初始化成员变量。当然你也可以不通过构造函数初始化,选择在创建对象后,通过公开成员变量由外部程序赋值,或者你也可以编写相应的函数进行赋值,具体怎么做由程序员决定。
主要特点:
1、构造函数的命名必须和类名完全相同。在java中普通函数可以和构造函数同名,但是必须带有返回值。
2、构造函数的功能主要用于在类的对象创建时定义初始化的状态。它没有返回值,也不能用void来修饰。
这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值,即使是void返回值。尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的。
3、构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的。
4、当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数、此默认构造函数是不带参数的。而一般的方法不存在这一特点。
以上内容参考:百度百科-java 构造函数
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。