一:有参数构造方法
以前,是为对象赋值的。 创建对象,然后在“对象名称.属性名称”或调用属性的setter中为属性赋值。 但是,在许多情况下,这很麻烦,因此建议您在创建对象时完成属性初始化操作。 此时,必须使用带参数的构造函数才能完成此功能(有些人称为构造函数)。
DEMO:定义了参数结构方法
上面定义了四种带参数的结构方法,发现结构方法可以重载
写作习惯是按参数个数按升序对重载的结构方法进行排序。 但是,如何调用有参数的结构方法?
DEMO:调用参数化结构方法
在这种情况下,要像以前那样为对象的属性赋值,则无需创建对象,然后使用“对象名称.属性名称”或setter方法实现,而是使用带有参数的构造方法
DEMO:继续观察代码
此时,提出“未定义此无参数结构Student ()”方法”,之前JVM隐式地说类提供无参数结构方法,但这只是在没有任何无参数结构方法的条件下。
Java学习交流群697888503现在,因为我们定义了4个参数化结构方法(JVM认为你不需要无参数结构方法),所以JVM不再提供无参数结构的结构方法。
因此,我们定义了如果有参数化结构方法,就有必要明确定义非参数化结构方法。
DEMO:显示了如何定义无参数结构
总结:
1、结构方法的出现是为了方便对象属性的初始化值
2、类中构建方法的顺序一般按参数个数升序排序
3、如果定义了无参数结构方法,JVM就不提供无参数结构,所以定义为如果定义了无参数结构,也显示无参数结构。
)二) Java无参结构方法
一)结构方法给出的概念
以前,我们使用过方法。 调用方法时,必须在方法名称后加上. 可以把实参交给括号里。 那么,创建对象时使用“new类名()”实现。 其实这也是一种方法,但这个方法没有明确定义。 为什么可以调用呢? 观察代码。
DEMO:观察码
上面的代码在创建对象时使用“Student ()”。 我发现在“Student”之后用括号。 这与方法的调用非常相似。 实际上," Student " )是一种-方法,它是一种特殊的构造方法,构造方法的名称与类名相同。
Java学习交流群697888503,且必须在new关键词后调用。 但是,在Student类中,我们还没有看到这个方法被调用。 因为,JVM(Java的虚拟机暂时不需要管理,就当是系统吧。 稍后在描述JVM内存模型时进行分析。 ) )系统在缺省情况下为该类提供了无参数的构造方法,可以调用它。
也可以定义这个方法。
DEMO:表示的定义结构方法
这里显示的是定义5个参数的构建方法,构建方法是什么时候调用的? 怎么明显地调用了构筑方法?
DEMO:观察构建方法调用的时机
总结:
1、构造方法的概念(构造方法的出现是为了在实例化对象时可以初始化对象的属性值)。
2、默认jvm为每个类提供无参数的构建方法。
3、要分清结构方法的特点及其与普通方法的区别。