构造方法

什么是构造方法

有没有想过这样的一个问题,为啥成员变量可不赋初始值,而局部变量却不可以?那我如果在成员变量不赋值的情况下进行输出会得到什么呢?经过实验,我们发现直接输出成员变量会得到0(int类型)和null(String类型),那成员变量的初始值是哪里来的呢?在我们输出成员变量之前,我们首先要先进行对象的创建(Fu fu = new fu()),那是否和创建对象的这个过程有关系呢?

在创建一个类时,系统会自动为我们的类创建一个方法,这个方法与我们的类名相同,无返回值类型。构造方法可以可以忽略不写(因为起会默认进行创建,只不过被隐藏了我们无法看到)。

构造方法有什么作用

构造方法的作用主要有两点:1.创建对象,也就是我们创建对象的过程(Fu fu = new Fu())就是我们调用构造方法的过程。在调构造方法时,创建对象。注意,在调用构造方法之前,对象是未被创建完成的(若静态无代码块进行成员变量赋值)。

2.给对象进行初始化赋值,也就是说我们在不进行赋值操作下,变量的初始值(刚才的null和0)是由构造方法进行初始化赋值的。

构造方法的分类

1.无参构造方法,也就是系统默认的构造方法。也可以通过代码书写出来。

2.有参构造方法,当我们想对成员变量进行赋值操作是,一种方法是创建对象后通过对象名.变量名的方法进行赋值,还有一种方法就是通过构造方法进行赋值。欢聚话说就是在创建对象时对对象进行赋值(例如:FU f = new Fu(1,"张三")),注意一旦,若是使用有参构造方法进行赋值的话,必须在对应的类中进行声明()。

声明方法和声明类的方法是一致的,但要注意构造方法是无返回值类型的。示例如下:

public Test( int age ,String name){

}

注意:当声明了有参构造方法时,会覆盖掉系统默认的无参构造方法,也就是说,这个时候,无参构造方法是没有的,如果还想使用无参构造方法,需要再次进行无参构造方法的声明。

构造方法可以被重载吗?

可以,有参与无参的构造方法就构成了方法的重载(满足方法名相同,参数不同,与返回值无关的条件)

构造方法可以被继承吗

不可以,构造方法的定义是无返回值类型,且方法名与类名一致。当继承后,方法名(父类类名)与子类不相同,不满足构造方法的条件,所以构造方法不能被继承。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值