详解-构造方法

构造函数:

我们知道,在java中当出现很多重复的代码时,我们会将其封装成函数,提供复用性,这是我们常用的有参方法或无参方法,今天我们来谈谈构造方法,那么构造函数是什么了?和普通函数有什么区别了?

 我们先来看看构造函数和普通函数在语法上有什么区别如下:

分析:运行结果会是先输出“我是构造方法”,其次是我是方法,由此我们得知构造方法是在对象一旦初始化就会执行的语句,也就是构造方法是给对象初始化用的,在执行流程上也是优先于普通函数,两者在写法上也有不同,我们知道方法是书写格式是:

函数:权限修饰符 修饰符 返回值类型 方法名(方法有很多种写法,在方法中除了返回值类型 和方法名()这两个不能省略,其他都可以省略)

构造函数:类名(参数)

需要注意的是:构造函数是不能写返回值,但是权限修饰符是可以写的,如果我们将其的构造函数私有化会出现什么情况了?

私有构造函数能不能实例化对象?


解:不能,在我们没有给其动态的声明构造函数的时候,java中会默认有一个空参数的构造函数,也就用这个空的构造函数来给我们创建对象初始化,但是!一旦我们声明一个构造函数,这个默认的空的构造函数就会没有,但是我将声明的构造函数私有化,就会没有构造函数给创建对象进行初始化,所以会报错,


构造方法能被重写吗?

不能!重写函数有1个需求!函数必须是一致的,而构造函数是有定义是类名()来定义的,2个类的类名不可能一样吧,

构造函数是静态函数吗?

可以说是想隐式的静态,我们来看下下面这代码:


也许你会有疑问?show()方法为啥会报错,同样都是静态啊?但是你有没有发现是this调用!this!,如果你有这样的疑问说明你对this还不清楚,静态是跟实例没有关系的,静态是跟类有关系,而this是跟实例有关系的,这已经矛盾了,所以this不能调用静态方法,但是构造方法却可以调用静态方法,说明构造方法是隐式的静态方法。

构造函数能被重载吗?

构造函数的重载和普通的函数重载遵循相同的规则,

可以为函数提供任意多的构

造函数重载,只要它们满足重载的条件即可。

 

构造函数的重载和普通的函数重载遵循相同的规则,

可以为函数提供任意多的构

造函数重载,只要它们满足重载的条件即可。

 

构造函数的重载和普通的函数重载遵循相同的规则,

可以为函数提供任意多的构

造函数重载,只要它们满足重载的条件即可。

 

构造函数的重载和普通的函数重载遵循相同的规则,可以为函数提供任意多的构造函数重载,只要它们满足重载的条件即可。

总结:

1、构造函数是给对象进行初始的。

2、构造函数没有返回值

3、构造函数必须和类名同名

4、构造函数能被重载

5、构造函数是静态方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值