构造方法
构造函数是一种特殊的成员方法,其特殊性体现在以下几个方面:
1.构造方法函数:(1).构造类的实例(2).初始化构造类的实例(对象)。
2.构造函数的名字必须和定义它的类的名字完全一样,没有返回类型,甚至没有void。
3.主要完成对象的初始化。在创建对象时使用 new 操作调用构造方法。
4. 类中必须有构造函数。如果不写,系统会自动添加一个无参构造函数。接口不允许实例化方法,所以接口中没有构造函数。
5.不能被 , final , , 和 修改。
6.构造方法在对象初始化时自动执行,一般不能直接调用。当同一个类有多个构造方法时,java编译系统会在初始化时自动跟随最后一个括号中的参数。数字和参数类型自动一一对应。完成构造函数的调用。
7.构造方法分为两种:无参数构造方法和参数构造方法
构造函数可以重载。没有参数的构造函数称为默认构造函数。与通用方法一样,构造函数可以执行任何活动,但它通常被设计为执行各种初始化活动,例如初始化对象的属性。
8.构造代码块:
(1)功能:初始化对象,对象一创建就执行,在构造函数之前执行
(2)构造代码块和构造函数的区别:
构造代码块是统一初始化所有不同对象的共性,构造函数是初始化对应的对象
9.子类继承父类,
***子类的实例化过程
***构造函数不能被子类继承
***子类创建对象时,会先创建父类的对象。
默认是调用父类的无参构造函数。
***子类构造函数中,第一行默认为super()
***为什么子类的第一行默认有super()
因为他继承了父类的成员,所以这些成员必须在使用前进行初始化,
而且它们是父类的成员,所以必须通过父类来初始化。
所以,先创建一个父类的对象。
**当父类没有无参构造函数时
您必须使用 this 或 super 来调用其他构造函数。
10.自定义类中,如果不写构造函数方法,java系统默认会添加无参构造函数。如果你写一个带参数的构造函数,你必须写一个不带参数的构造函数。
如果要使用无参构造函数,必须手动给定无参构造函数。
建议:一般情况下,我们的自定义类必须手动给定一个无参数的构造函数。
具体用途:计算长宽分别为20、10和6、3的两个矩形的面积。
控制台输出为:
第一个矩形的面积是200
第二个矩形的面积是18